인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hoony님의 프로필 이미지
hoony

작성한 질문수

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

pandas 라이브러리로 실제 데이터 전처리하기2 (업데이트)

지정한 국가명으로 변하는 부분 질문있습니다!!

작성

·

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 함수 내에서 전체 행에 대해서 해당 함수를 호출하여, 반복적으로 적용을 한다라고 보시면 어떠실까요?

감사합니다.

hoony님의 프로필 이미지
hoony

작성한 질문수

질문하기