pd.where과 np.where의 차이

snooby·2022년 11월 18일
0

⚒ Python

목록 보기
11/14
post-thumbnail

pandas와 numpy는 모두 where()이라는 함수를 가지고 있습니다.
그러나 두 함수는 이름만 같고 함수의 정의는 다른데요 알아봅시다.

1. pd.where()

이 함수는 Series객체1.where(Series객체에 대한 조건문, 거짓 값에 대한 대체 값)의 형태로 사용합니다. 조건문의 참값에 대해서는 Series1객체의 값을 넣어주고 조건문의 false는 지정된 값(2번째 인자)로 대체합니다.

df['a'].where(df['a'] < 3, 10)

0 1
1 2
2 10
3 10
4 10
Name: a, dtype: int64

2. np.where()

이 함수는 np.where(배열에 대한 조건문, 참일때 값, 거짓일때 값)의 형태로 사용하며 배열(array)로 반환합니다.

np.where(df['a'] < 3, df['a'],10)

array([ 1, 2, 10, 10, 10], dtype=int64)

df['where_a'] = np.where(df['a'] < 3, '3미만','3이상')
df['where_b'] = np.where(df['b'].isin([10, 30]), 'O', 'X')
df

profile
데이터를 가치있게 다루고 싶은 개발자 🐥

0개의 댓글