where 메소드의 통일감이 없는 유감스러운 알림
where
의 거동이 반하는 것처럼 느꼈기 때문에 공유합니다.조건에 따라 값을 할당하는 메서드에는
where
및 mask
가 있습니다.메서드에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
(언제나 신세를지고 있습니다 )
아래에 적당한 예를 내 보겠습니다.
import numpy as np
import pandas as py
test = np.array([1,2,3])
이
2
를 200
로 바꾸고 싶습니다.np.where
로 해 봅시다.>>> pd.Series(np.where(test == 2, 200, test))
0 1
1 200
2 3
dtype: int64
원하는 결과를 얻을 수 있습니다.
그럼
pd.where
그럼?>>> pd.Series(test).where(test == 2, 200)
0 200
1 2
2 200
dtype: int64
죄송합니다. 목적과는 반대의 결과가 되었다…
np.where
대신 pd.mask
를 사용합시다.>>> pd.Series(np.where(test == 2, 200, test))
0 1
1 200
2 3
dtype: int64
np.where
와의 거동을 맞추면 좋겠네요…
Reference
이 문제에 관하여(where 메소드의 통일감이 없는 유감스러운 알림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tori_taro/items/2aaa2b49f697e18d2054텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)