본문 바로가기
Python_Wiki/Python_Library

np.where + lambda로 df의 새로운 열에 원하는 값 넣기

by yj-data 2025. 7. 18.

현재 데이터

 

데이터가 현재 이럴때, 새로운 행을 만들어서, rank가 3보다 크거나 같으면 pass, 아니면 fail이라고 적어서 넣고싶다.

원하는 결과 값

이것이 원하는 값.

 

하는 방법은?

#1 원하는 값(pass,fail) 대신, true false로 넣어도 되는 경우
df['rankOver3'] = df['rank'] >= 3

#2-1 원하는 값(pass,fail)넣기, using apply
df['rankOver3'] = df['rank'].apply(lambda x: 'Pass' if x >= 3 else 'Fail')

#2-2 원하는 값(pass,fail)넣기, using np.where
df['rankOver3'] = np.where(df['rank'] >= 3, 'Pass', 'Fail')