하루 티끌/[Python] 라이브러리, 매소드,내장함수

apply

몽글이2 2023. 4. 18. 04:14
def age_group(age):
    if age < 30:
        return '20s'
    elif age < 40:
        return '30s'
    else:
        return '40s+'

df['age_group'] = df.apply(lambda row: age_group(row['age']), axis=1)

apply는 pandas에서 제공하는 메서드(Method)입니다.

메서드는 객체의 속성(attribue)를 조작하거나 객체 내부의 상태를 변경하는데 사용됩니다. 

 

기본적으로 데이터프레임이나 시리즈의 column에 함수를 적용하며, 

 axis를 설정하여 row방향으로 함수를 적용할 수도 있습니다.

 

[열에 함수 적용하기]

def capitalize_name(name):
    return name.capitalize()

df['name'] = df['name'].apply(capitalize_name)

일반적으로 column 별로 함수를 적용합니다.

위와 같이 capitalize 함수를 커스터마이징 하여 생성한 함수를 apply에 적용할 수 있습니다.

 

[행에 함수 적용하기]

def age_group(age):
    if age < 30:
        return '20s'
    elif age < 40:
        return '30s'
    else:
        return '40s+'

#df['age_group'] = df['age'].apply(age_group)
df['age_group'] = df.apply(lambda row: age_group(row['age']), axis=1)

axis를 사용하여 행별로  apply를 적용한 예시 입니다. 

하지만 저는 df['age'].apply를 적용하는 코드 형식이 결과는 동일한데 더 편한 것 같습니다. 

 

'하루 티끌 > [Python] 라이브러리, 매소드,내장함수' 카테고리의 다른 글

정보 링크(23.08.03)  (0) 2023.04.18
help(print)  (0) 2023.04.18