강의 1:55초 코드가 이해가 안갑니다.
225
작성한 질문수 2
답변 1
1
안녕하세요.
다음 함수는
def country_name_convert(row):
if row['Country_Region'] in json_data:
return json_data[row['Country_Region']]
return row['Country_Region']
다음 실제 적용 구문과 연결해서 보시면 좋을 것 같아요.
doc['Country_Region'] = doc.apply(country_name_convert, axis=1) # 4. 'Country_Region'의 국가명을 여러 파일에 일관되게 변경하기
apply() 의 결과가 doc['Country_Region'] 이기 때문에, apply() 내의 함수인 country_name_convert 의 리턴값은 해당 컬럼값이어야 해요.
그래서, return 할 때, row 라는 특정 행 전체를 리턴하는 것이 아니라, row['Country_Region'] 라는 특정 컬럼값을 리턴한 것입니다.
json_data 는 사전 데이터로, 어떤 국가이름(A)을 어떤 국가명(B)으로 변환할지가 들어 있고,
{'Mainland China': 'China',
'Macau': 'China',
row['Country_Region'] 는 A 에 해당하는 값이 들어 잇기 때문에,
json_data[row['Country_Region']] 은 A 에 해당하는 어떤 국가명(B) 값이 되고,
이를 특정 컬럼값으로 리턴하게 해놓았습니다.
또 리턴이 두개 있다하더라도, if 문 조건에 맞게 들어가면, 리턴을 하면서, 이후 두번째 리턴 구문은 실행되지 않고, 만약 if 문 조건이 맞지 않으면, 두번째 리턴 구문만 실행된다고 보시면 좋을 것 같습니다.
if row['Country_Region'] in json_data:
return json_data[row['Country_Region']]
return row['Country_Region']
각 구문에 print 구문등을 넣어서, 어떻게 변수값이 바뀌는지를 출력해보셔도 상당히 이해에 도움이 되고요. 또, 조금 이해가 어려운 구문이 있으면, 강의 영상을 여러번 반복해보시면서, 계속 고민해보시면, 점점 관련 사고가 생기면서, 이해가 되실 수 있습니다. 제가 경험한 팁이라서, 이 부분도 제안을 드려봅니다.
감사합니다.
Python 3 표시 없습니다.
0
72
1
강의실습 말고 강의에 대한 자료(pdf)가 없을까요?
0
87
1
구글 코랩과 아나콘다
0
105
1
강의와 다르게 오류가 뜨는 이유가 뭘까요?
0
115
1
COVID-19-master 관련 등 자료 누락
0
101
1
수업자료에 python_core_summary.ipynb 파일이 포함되어 있지 않습니다!
1
109
1
json.dumps관련된 질문
0
83
1
빅분기대비
0
118
1
파이썬으로 Plain Text 포멧 파일 다루기 연습문제 질문
0
101
1
강의자료 어디서 다운로드받나요?
0
150
1
pandas 라이브러리의 quotechar 인자에 대해 질문드립니다
0
107
1
iplot 에러 문제
1
209
1
플래그
0
79
1
플래그 라이브러리
0
91
1
CSV 파일 쓰기 다른 기법(사전 타입으로 쓰기) 관련
0
189
1
CSV 파일 읽을 때 오류
0
206
1
read() 함수 사용할 때 3번째 줄에 data로 출력 또는 print(data)로 출력 차이
0
141
1
강의 교재 및 실습 파일 제공되나요?
0
189
1
deep_data_and_visual 파일에서 에러가 납니다.
0
189
1
apply()함수
0
210
1
pandas groupby sum 질문
1
278
1
pandas_eda 자료 맨아래 heatmap 숫자가 안나옵니다
0
363
2
pandas_eda 힛맵에서 숫자가 안떠요
0
261
1
수업 자료에 pandas_basic 파일이 없습니다..!
0
284
1





