언빌리버블티
[Python] Pandas 데이터프레임 조건 탐색 및 대치 메서드 pd.where 과 np.where 차이 본문
Language/Python
[Python] Pandas 데이터프레임 조건 탐색 및 대치 메서드 pd.where 과 np.where 차이
나는 정은 2022. 10. 11. 13:33
데이터프레임 조건 탐색 및 대치 메서드
.where() & np.where() 비교
series.where() :
판다스 Series 객체의 함수
Series.where(조건, other=_NoDefault.no_default, inplace=False, axis=None, level=None,
errors=_NoDefault.no_default, try_cast=_NoDefault.no_default)
- Series 객체에 대한 조건문과 거짓 값을 대체할 값 두 가지를 입력받는다.
- pandas의 메서드는 아님 ! 시리즈 객체의 함수
- 조건문의 참 값에 대해서는 Series값이 그대로 들어가게 된다.
- pandas의 메서드는 아님 ! 시리즈 객체의 함수
df.where(df['접촉력'] == '해외유입',False)['접촉력']
연번
218646 False
218645 False
...
2 해외유입
1 해외유입
Name: 접촉력, Length: 218646, dtype: object
False 216280
해외유입 2366
Name: 접촉력, dtype: int64
- 접촉력이 해외유입인 경우 그대로 해당 데이터 a열의 값을 두고, 해외유입이 아닌 경우 지정해둔 False를 반환한다.

np.where() :
Array 객체 함수
numpy.where(condition, [x, y, ]/)
- np.where(배열에 대한 조건문, True인 경우의 값, False인 경우의 값)의 형태로 사용한다.
- 참과 거짓인 경우를 구분해준 뒤 array(배열)로 반환된다.
- 배열로 반환되기 때문에 조건문을 좀 더 자유롭고 유연하게 구현할 수 있다는 장점을 가진다.
- 참과 거짓인 경우를 구분해준 뒤 array(배열)로 반환된다.
np.where(df['접촉력'] == '해외유입', 1 , 0)
array([0, 0, 0, ..., 0, 1, 1])
이렇게 새로운 파생 변수를 만들어 붙일 수 있다.

'Language > Python' 카테고리의 다른 글
[Python] Pandas List를 이용한 요소 필터링 - pd.isin() (0) | 2022.10.12 |
---|---|
[Python] Pandas data type을 숫자로 변환하기 - pd.to_numeric() (0) | 2022.10.12 |
[Python] Pandas Dataframe 누적합과 누적곱 구하기 - pd.cumsum() / pd.cumprod() (0) | 2022.10.11 |
[Python] Pandas 데이터 프레임 병합 메서드 - pd.merge() (0) | 2022.10.07 |
[Python] Pandas 데이터 프레임 병합 메서드 - pd.concat() (0) | 2022.10.07 |
Comments