작성
·
202
0
Pandas 라이브러리로 실제 데이터 전처리하기 2 8분 18초
def func(row):
if row['Country_Region'] in json_data:
row['Country_Region'] = json_data[row['Country_Region']]
return row
코드에서 if row['Country_Region'] 으로 Country_Region이라는 Series의 값을 호출할 때 반복문을 쓰지않아도 되는 이유가 궁금합니다.
예를 들어
for i in Country_Region.keys():
과 같이 반복문을 통해 일일히 접근하지 않아도 모든 값이 접근되는 이유가 궁금합니다
답변 1
0
안녕하세요.
해당 함수 자체는 말씀하신대로, 특정 행에 대해서만 해당 행의 Country_Region 컬럼 값을 바꾸는 것이 맞습니다. 그런데 그 함수를 apply 함수에 적용하면, 전체 행에 대해서 적용을 할 수가 있어요.
apply 함수는 각 행, 열, 또는 특정 컬럼에 대해 값을 변경하는 기능을 하는 함수라서요. 각 행, 열, 또는 특정 컬럼에 일정한 조건에 맞는 값을 넣어주기 위해서는 별도 함수를 정의해서 사용할 수 있습니다. 그러니까, apply 함수에 위와 같은 방식으로 함수를 정의하면, 알아서, apply 함수 내에서 전체 행에 대해서 해당 함수를 호출하여, 반복적으로 적용을 한다라고 보시면 어떠실까요?
감사합니다.