pandas를 통해 특정 조건에 만족하는 값들을 남기는 경우 apply, lambda를 사용할 수도 있지만, 다른 방법도 있어서 정리하고자 한다.
isin()을 활용한 배열에 포함된 row만 남기기
다음과 같은 데이터가 있다고 하자
data = pd.DataFrame( {'a':['A','A','B','B','B','C'],
'b':[1,2,5,5,4,6],
'c':[-1,3,-3,2,5,6] })
a b c
0 A 1 -1
1 A 2 3
2 B 5 -3
3 B 5 2
4 B 4 5
5 C 6 6
이때 항목 $a$의 값이 배열 $['B','C']$에 포함된 row만 남기고 싶다고 할때, isin()을 활용하면 된다.
data['a'].isin(['B', 'C'])
0 False
1 False
2 True
3 True
4 True
5 True
dtype: bool
원래 data에 적용해주면 원하는 해당 조건에 해당하는 데이터를 걸러서 얻을 수 있다.
data[data['a'].isin(['B', 'C'])]
a b c
1 B 5 -3
3 B 5 2
4 B 4 5
5 C 6 6
728x90
'python 메모' 카테고리의 다른 글
[tqdm] tqdm에서 새로운 라인 없이 한 라인으로 출력하기 (2) | 2021.03.24 |
---|---|
[numpy] stack 결과 (0) | 2021.03.17 |
[pandas] 다중 컬럼(multiple columns) apply 사용하기 (0) | 2021.03.10 |
[pandas] groupby를 활용한 그룹별 데이터 목록 리스트화 (0) | 2021.03.10 |
jupyter notebook 자주 쓰는 명령어 (0) | 2020.07.27 |