Pandas DataFrame 一次为多个列为空

Dan*_*ty2 5 python isnull pandas

鉴于以下情况:

import pandas as pd
import numpy as np

df = pd.DataFrame({'a':[np.nan,1,2],'b':[np.nan,np.nan,4]})

     a    b
0  NaN  NaN
1  1.0  NaN
2  2.0  4.0
Run Code Online (Sandbox Code Playgroud)

如何返回列“a”和“b”均为空的行,而不必pd.isnull对每一列使用?

期望的结果:

     a    b
0  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

我知道这是可行的(但这不是我想要的方式):

df.loc[(pd.isnull(df['a']) & (pd.isnull(df['b'])]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

df.loc[pd.isnull(df[['a', 'b']])]
Run Code Online (Sandbox Code Playgroud)

...但出现以下错误:

ValueError: Cannot index with multidimensional key
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Qua*_*ang 7

你很接近:

df[~pd.isnull(df[['a', 'b']]).all(1)]
Run Code Online (Sandbox Code Playgroud)

或者

df[df[['a','b']].isna().all(1)]
Run Code Online (Sandbox Code Playgroud)

怎么样:

df.dropna(subset=['a','b'], how='all')
Run Code Online (Sandbox Code Playgroud)