반응형
Python Pandas 명시 적으로 열을 나열하지 않고 DataFrame에서 하나 이상의 null이있는 행을 선택하는 방법은 무엇입니까?
~ 300K 행과 ~ 40 열의 데이터 프레임이 있습니다. 행에 null 값이 포함되어 있는지 확인 하고이 'null'행을 별도의 데이터 프레임에 넣어 쉽게 탐색 할 수 있습니다.
마스크를 명시 적으로 만들 수 있습니다.
mask=False
for col in df.columns: mask = mask | df[col].isnull()
dfnulls = df[mask]
또는 다음과 같은 것을 할 수 있습니다.
df.ix[df.index[(df.T == np.nan).sum() > 1]]
더 우아한 방법이 있습니까 (널이 null 인 행 찾기)?
[현대에 적응 업데이트 pandas
보유하는 isnull
방법으로 DataFrame
S ..]
당신은 사용할 수 있습니다 isnull
및 any
귀하의 프레임에 인덱스 부울 시리즈 및 사용을 구축 :
>>> df = pd.DataFrame([range(3), [0, np.NaN, 0], [0, 0, np.NaN], range(3), range(3)])
>>> df.isnull()
0 1 2
0 False False False
1 False True False
2 False False True
3 False False False
4 False False False
>>> df.isnull().any(axis=1)
0 False
1 True
2 True
3 False
4 False
dtype: bool
>>> df[df.isnull().any(axis=1)]
0 1 2
1 0 NaN 0
2 0 0 NaN
[연령 pandas
:]
isnull
메소드 대신 함수 를 사용할 수 있습니다 .
In [56]: df = pd.DataFrame([range(3), [0, np.NaN, 0], [0, 0, np.NaN], range(3), range(3)])
In [57]: df
Out[57]:
0 1 2
0 0 1 2
1 0 NaN 0
2 0 0 NaN
3 0 1 2
4 0 1 2
In [58]: pd.isnull(df)
Out[58]:
0 1 2
0 False False False
1 False True False
2 False False True
3 False False False
4 False False False
In [59]: pd.isnull(df).any(axis=1)
Out[59]:
0 False
1 True
2 True
3 False
4 False
오히려 소형으로 연결 :
In [60]: df[pd.isnull(df).any(axis=1)]
Out[60]:
0 1 2
1 0 NaN 0
2 0 0 NaN
nans = lambda df: df[df.isnull().any(axis=1)]
그런 다음 필요할 때마다 다음을 입력 할 수 있습니다.
nans(your_dataframe)
반응형
'Programing' 카테고리의 다른 글
UIButton : 적중 영역을 기본 적중 영역보다 크게 만들기 (0) | 2020.05.16 |
---|---|
배열의 첫 번째 N 요소를 얻습니까? (0) | 2020.05.15 |
if 문을 사용하여 종료 상태를 확인하는 방법 (0) | 2020.05.15 |
UIImage : 크기 조정 후 자르기 (0) | 2020.05.15 |
IntelliJ IDEA 기본 JDK를 어떻게 변경합니까? (0) | 2020.05.15 |