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)
提前致谢!
你很接近:
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)