heywantodo 2024. 1. 3. 10:15
728x90
반응형

[Pandas] Apply

조건에 맞는 컬럼에서 여러 데이터를 변경하고 싶을 때, 

loc로 조건을 찾은 후 for문으로 변경하는 방법은 데이터가 많을 때, 시간이 많이 소요되기때문에 비효율적이다.

 

이 때 pandas에서 제공하는 apply를 사용하면, 열별 혹은 행별로 함수를 적용할 수 있기때문에,

수행 시간이 훨씬 짧고 효율적이다.

 

다음과 같은 데이터 프레임을 생성 후

df = pd.DataFrame({'학번':[1, 2, 3, 4],
                   '키':[163, 153, 175, 180],
                   '몸무게':[50, 46, 70, 68]})

 

'키' 컬럼 값에 'cm' 단위를 붙이고 싶으면 다음과 같이 적용이 가능하다.

df['키'] = df['키'].apply(lambda x:str(x)+'cm')

 

적용하고 싶은 함수를 생성 후 적용하는 것 또한 가능하다.

def add_str_kg(x):
    return str(x)+'kg'

df['몸무게'] = df['몸무게'].apply(add_str_kg)

 

 

참고

https://computer-science-student.tistory.com/371

https://wikidocs.net/151872

https://developer-ping9.tistory.com/111

728x90
반응형