특정 열에서 NaN으로 행을 선택하는 방법은 무엇입니까?


104

이 데이터 프레임이 주어지면 "Col2"가 NaN?와 같은 행만 선택하는 방법은 무엇입니까?

In [56]: df = pd.DataFrame([range(3), [0, np.NaN, 0], [0, 0, np.NaN], range(3), range(3)], columns=["Col1", "Col2", "Col3"])

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

결과는 다음과 같아야합니다.

Out[57]: 
   0   1   2
1  0 NaN   0

답변:


180

다음을 시도하십시오.

df[df['Col2'].isnull()]

10
또는 df.loc[df['Col2'].isnull()].loc는 것은 당신의 종류 인 경우
알렉산더

2
Q :이를 부정하는 방법, 즉 "is not null"열의 데이터가 어디에 있습니까? A : .notnull()연산자 를 사용하여 .
sk

10

@qbzenker는 가장 관용적 인 방법 IMO를 제공했습니다.

다음은 몇 가지 대안입니다.

In [28]: df.query('Col2 != Col2') # Using the fact that: np.nan != np.nan
Out[28]:
   Col1  Col2  Col3
1     0   NaN   0.0

In [29]: df[np.isnan(df.Col2)]
Out[29]:
   Col1  Col2  Col3
1     0   NaN   0.0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.