반응형
먼저 데이터를 하나 생성합시다.
import pandas as pd
import numpy as np
md = pd.DataFrame(10*np.random.randn(10, 4))
>>> md
0 1 2 3
0 4.538928 -5.226503 10.369977 6.726804
1 10.371321 6.897509 -9.493601 -21.909799
2 10.575935 -2.771346 7.853494 -1.184277
3 3.363696 -0.878508 2.587997 -8.812833
4 9.401511 33.617850 -12.975039 -8.628830
5 8.581020 18.303396 0.752900 8.202389
6 -0.521181 2.607637 5.511367 21.172351
7 1.393362 10.765882 -8.555743 6.831867
8 -16.383808 -16.587397 1.303840 -5.946344
9 -12.784697 -14.566051 -6.551942 -8.970884
10보다 큰 값이 하나라도 있는 행만 남겨봅시다. 먼저 각 행에 10보다 큰 값이 하나라도 있는지 any 메소드로 확인하면 아래와 같습니다.
>>> (np.abs(md)>10).any(1)
0 True
1 True
2 True
3 False
4 True
5 True
6 True
7 True
8 True
9 True
dtype: bool
위 결과를 인덱스로 사용하면 됩니다. 위 결과는 시리즈이기 때문에 데이터프레임에 인덱스로 사용될 경우 행별로 적용됩니다.
>>> md[(np.abs(md)>10).any(1)]
0 1 2 3
2 5.657393 0.934987 -5.718441 -14.554492
3 12.434857 3.076518 6.976670 -7.875882
4 2.309404 9.409397 -0.375721 16.651236
6 -11.689458 -9.518975 8.805354 13.744177
8 -2.565431 3.997110 5.824812 -10.737718
9 -23.481604 -9.194257 6.222753 12.427558
any 대신 all을 사용하면 모든 원소가 10보다 커야 True를 반환합니다.
반응형
'5-3. Pandas 제공 자료구조 > DataFrame 인덱싱 관련' 카테고리의 다른 글
[파이썬 판다스] 데이터프레임 인덱스 리셋하는 법 (0) | 2023.01.17 |
---|---|
[파이썬 판다스] 데이터프레임에서 특정 열을 대문자 또는 소문자로 변경하기 (0) | 2022.01.20 |
[파이썬 판다스] 데이터프레임 행이름, 열이름 리스트로 추출 (0) | 2022.01.12 |
[파이썬 판다스] 데이터프레임 숫자로만 인덱싱 하는 법(iloc) (0) | 2022.01.12 |
[파이썬 판다스] 데이터 프레임에서 특정 열의 특정 행에 접근하기 (인덱스 이용) (0) | 2021.12.30 |
댓글