파이썬 버전 3.7 기준
pandas 버전 0.25.1 기준
불린리덕션(boolean reduction) |
본 포스팅에서는 pandas에서 제공하는 empty, any, all, bool메서드를 활불린리덕션 기능을 소개하도록 한다.
불린리덕션 |
사용자는 불린리덕션이라고 하는 기능을 적용할 수 있다.
○ empty, any(), all(), bool() 등
이 메서드들은 불린 결과를 요약하는 기능을 갖추고 있다.
각 기능에 대한 설명은 다음과 같다.
다음과 같이 pandas와 numpy를 import시킨 후 예제를 수행하였다.
모듈의 임폴트)
# pandas와 numpy의 import
In[2]: import pandas as pd
In[3]: import numpy as np
DataFrame.empty |
DataFrame, Series, Index 객체가 비어있는지 확인하는 메서드이다.
만약 비어있으면 True를 비어있지 않다면 False을 반환한다.
empty 메서드 예제)
# pandas와 numpy의 import
In[4]: ex_em = pd.DataFrame([])
In[5]: ex_em2 = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
# empty 메서드 사용 예
In[6]: ex_em.empty
Out[6]: True
In[7]: ex_em2.empty
Out[7]: False
DataFrame.any(axis=0) |
지정된 축의 방향(행 혹은 열)에 대해 탐색을 수행한다.
○ 해당 열 혹은 행에 대해 하나라도 True값이 존재한다면 True를 출력한다.
○ 탐색을 수행한 열 혹은 행에 대해 모든 값이 False이면 False을 출력한다.
any 메서드 예제)
# pandas와 numpy의 import
In[8]: ex_em = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
In[9]: ex_em
Out[9]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
# any 메서드 사용 예
In[10]: (ex_em>5).any()
Out[10]:
0 True
1 True
2 True
dtype: bool
In[11]: (ex_em>5).any(axis=1)
Out[11]:
0 False
1 True
2 True
dtype: bool
DataFrame.all(axis=0) |
지정된 축의 방향(행 혹은 열)에 대해 탐색을 수행한다.
○ 하나라도 해당 열 혹은 행에 대해 모든 값이 True어야 True를 출력한다.
○ 탐색을 수행한 열에 대해 하나라도 False이 존재하는 경우 False을 출력한다.
all 메서드 예제)
# pandas와 numpy의 import
In[12]: ex_em = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
In[13]: ex_em
Out[13]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
# empty 메서드 사용 예
In[14]: (ex_em>6).all()
Out[14]:
0 False
1 False
2 False
dtype: bool
In[15]: (ex_em>6).all(axis=1)
Out[15]:
0 False
1 False
2 True
dtype: bool
DataFrame.bool() |
DataFrame이나 Series에 단 하나의 요소가 존재하고, 해당 요소가 bool형 자료형인 경우, 해당 요소의 맥락을 파악하는데 사용되어진다.
bool 메서드 예제)
# pandas와 numpy의 import
In[16]: ex_em_bool1=pd.DataFrame([True])
In[17]: ex_em_bool2=pd.DataFrame([False])
# empty 메서드 사용 예
In[18]: ex_em_bool1.bool()
Out[18]: True
In[19]: ex_em_bool2.bool()
Out[19]: False
메서드 세부사항 |
empty와 bool 메서드는 옵션이 따로 존재하지 않는다.
any와 all은 결과를 다르게 도출하지만 옵션 세부사항에 대해서는 거의 동일하다.
따라서 any 메서드의 옵션에 대해서만 다루도록한다.
DataFrame.any(self, axis=0, bool_only=None, skipna=True, level=None, **kwargs) |
axis: {0 or ‘index’, 1 or ‘columns’, None}
탐색을 수행할 시에 어느 쪽 방향으로 수행할지 결정한다.
○ 0 혹은 'index'를 입력받을 경우 동일 index쪽 방향으로 탐색을 수행하며,
○ 1 혹은 'columns'를 입력받을 경우는 동일 columns쪽 방향으로 탐색을 수행한다.
○ None을 입력받을 경우는 모든 축에 대해 탐색을 수행하며 스칼라 값을 반환한다.
○ 기본값은 0이며 index 방향으로 탐색을 수행한다.
bool_only: bool, None
오직 boolean값을 가지는 열만 포함시키는지 여부를 결정한다.
○ True일 경우 boolean값을 가지는 열만 포함시킨다.
○ None일 경우 모든 데이터를 사용하는 것을 시도한다.
Series에서는 적용되지 않는다.
skipna: bool
NA/null 값을 제외할지 여부를 결정한다.
○ True일 경우 NA/null 값을 제외시킨다.
○ False일 경우 NA/null 값을 제외시키지 않고 탐색을 수행한다. 이경우 NA/null을 True로 취급한다.
○ 기본값은 True이다.
level: int, leve name
멀티인덱스에서 불린리덕션을 수행할 레벨을 선택한다.
기본값은 None이다.
|
|
|
| 참고자료 https://pandas.pydata.org/docs/getting_started/basics.html
|
|
|
|
|
'Python > Pandas' 카테고리의 다른 글
인덱스 정렬(순서 변경)을 위한 reindex() 메서드- pandas(28) (0) | 2020.09.08 |
---|---|
데이터셋활용 누락값 채우기, 데이터 조합-pandas(27) (0) | 2020.04.21 |
객체간의 비교 연산(eq, ne, lt, gt, le, ge, equals)-pandas(25) (0) | 2020.04.11 |
객체간의 연산 add, sub, mul, div-pandas(24) (0) | 2020.04.05 |
랜덤 샘플의 추출 및 선택(sample)-pandas(23) (0) | 2019.11.09 |
댓글