반응형
먼저 데이터를 하나 생성합시다.
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
먼저 각 원소가 2보다 큰지 여부를 알아봅시다.
>>> np.abs(md)>2
0 1 2 3
0 True True True True
1 True True True True
2 True True True False
3 True False True True
4 True True True True
5 True True False True
6 False True True True
7 False True True True
8 True True False True
9 True True True True
만약 2보다 큰 원소를 포함하는 행이 존재하는지, 열이 존재하는지 여부를 알고 싶으면 어떻게 해야할까요? 이런 경우 사용하는 메소드가 any와 all 입니다. 사용방법은 둘다 같습니다.
any(axis)
all(axis)
axis=0 은 열방향(위->아래), axis=1 은 행방향(좌->우)입니다.
any 는 해당되는 값이 하나라도 있으면 True를 반환하고, all 은 모두 해당되어야 True를 반환합니다.
각 열이 2보다 큰 원소 조건을 만족하는지 알아봅시다. any 는 2보다 큰 원소가 하나라도 있으면 True를 반환합니다.
>>> (np.abs(md)>2).any(0)
0 True
1 True
2 True
3 True
>>> (np.abs(md)>2).all(0)
0 False
1 False
2 False
3 False
dtype: bool
각 행이 2보다 큰 원소조건을 만족하는지 알아봅시다.
>>> (np.abs(md)>2).any(1)
0 True
1 True
2 True
3 True
4 True
5 True
6 True
7 True
8 True
9 True
dtype: bool
>>> (np.abs(md)>2).all(1)
0 True
1 True
2 False
3 False
4 True
5 False
6 False
7 False
8 False
9 True
dtype: bool
반응형
'5-3. Pandas 제공 자료구조 > DataFrame' 카테고리의 다른 글
[파이썬 판다스] 데이터프레임에서 범주형 자료를 수치형으로 바꾸는 방법 (0) | 2022.02.11 |
---|---|
[파이썬 판다스] 데이터프레임에서 임의로 원하는 개수의 행 뽑기 (중복여부 결정) (1) | 2022.02.09 |
[파이썬 판다스] 값을 구간별로 나누기 (연속형데이터를 범주형으로) (0) | 2022.02.08 |
[파이썬 판다스] 데이터프레임에서 매칭된 데이터 추가하기 (map) (0) | 2022.01.20 |
[파이썬 판다스] 데이터프레임에서 중복 행 확인하고 제거하기 (0) | 2022.01.19 |
댓글