반응형
여기 저기 흩어져있는 가능한 NaN 값을 포함하는 pandas 데이터 프레임이 주어지면 :
질문 : NaN 값이 포함 된 열을 어떻게 확인하나요? 특히 NaN이 포함 된 열 이름 목록을 얻을 수 있습니까?
해결 방법
업데이트 : Pandas 0.22.0 사용
In [71]: df
Out[71]:
a b c
0 NaN 7.0 0
1 0.0 NaN 4
2 2.0 NaN 4
3 1.0 7.0 0
4 1.0 3.0 9
5 7.0 4.0 9
6 2.0 6.0 9
7 9.0 6.0 4
8 3.0 0.0 9
9 9.0 0.0 1
In [72]: df.isna().any()
Out[72]:
a True
b True
c False
dtype: bool
열 목록으로 :
In [74]: df.columns[df.isna().any()].tolist()
Out[74]: ['a', 'b']
해당 열을 선택하려면 (하나 이상의 NaN
값 포함) :
In [73]: df.loc[:, df.isna().any()]
Out[73]:
a b
0 NaN 7.0
1 0.0 NaN
2 2.0 NaN
3 1.0 7.0
4 1.0 3.0
5 7.0 4.0
6 2.0 6.0
7 9.0 6.0
8 3.0 0.0
9 9.0 0.0
이전 답변 :
In [97]: df
Out[97]:
a b c
0 NaN 7.0 0
1 0.0 NaN 4
2 2.0 NaN 4
3 1.0 7.0 0
4 1.0 3.0 9
5 7.0 4.0 9
6 2.0 6.0 9
7 9.0 6.0 4
8 3.0 0.0 9
9 9.0 0.0 1
In [98]: pd.isnull(df).sum() > 0
Out[98]:
a True
b True
c False
dtype: bool
또는 @root가 더 명확한 버전을 제안했습니다.
In [5]: df.isnull().any()
Out[5]:
a True
b True
c False
dtype: bool
In [7]: df.columns[df.isnull().any()].tolist()
Out[7]: ['a', 'b']
하위 집합 선택-하나 이상의 NaN
값을 포함하는 모든 열 :
In [31]: df.loc[:, df.isnull().any()]
Out[31]:
a b
0 NaN 7.0
1 0.0 NaN
2 2.0 NaN
3 1.0 7.0
4 1.0 3.0
5 7.0 4.0
6 2.0 6.0
7 9.0 6.0
8 3.0 0.0
9 9.0 0.0
참조 페이지 https://stackoverflow.com/questions/36226083
반응형
'파이썬' 카테고리의 다른 글
파이썬 pandas DataFrame, 특정 열에 함수를 적용하는 방법은 무엇입니까? (0) | 2020.11.07 |
---|---|
파이썬 pyspark에서 Python 라이브러리를 얻으려면 어떻게해야합니까? (0) | 2020.11.07 |
파이썬 0으로 나누지 않은 경우 "로그에서 발생한 0으로 나누기" (0) | 2020.11.06 |
파이썬 opencv python에서 이미지 주위에 테두리를 추가하는 방법 (0) | 2020.11.06 |
파이썬 numpy를 사용하여 내림차순으로 정렬하는 방법은 무엇입니까? (0) | 2020.11.06 |
댓글