我有一个这样的数据框:
df = pd.DataFrame([[1,2,np.nan,np.nan,5],[3,4,np.nan,np.nan,6]],columns=['a','b','c','Unnamed: 4','Unnamed: 5'])
df
Out[16]:
a b c Unnamed: 4 Unnamed: 5
0 1 2 NaN NaN 5
1 3 4 NaN NaN 6
我想删除全部为nan并且名称中带有“未命名:”的列(从文件中导入数据框时,标题中没有名称的列经常会发生这种情况)。所需的输出:
a b c Unnamed: 5
0 1 2 NaN 5
1 3 4 NaN 6
我可以做到:
df[[col for col in df.columns if 'Unnamed: ' not in col]]
Out[18]:
a b c
0 1 2 NaN
1 3 4 NaN
或:
df.dropna(how='all',axis=1)
Out[19]:
a b Unnamed: 5
0 1 2 5
1 3 4 6
是否存在同时执行这两项操作(通过AND而非OR连接)的pythonic方法?