Python 删除0.23+中的空列;

Python 删除0.23+中的空列;,python,pandas,Python,Pandas,在pandas的早期版本中,只需使用以下命令即可删除空列: df.dropna(axis='columns') 然而,dropna在以后的版本中已经贬值。现在如何从一个数据帧中删除多个空列(无需特别索引)?您可以获取非空的列,然后在这些列上筛选数据帧 这里有一个例子 non_null_columns = [col for col in df.columns if df.loc[:, col].notna().any()] df[non_null_columns] 在当前版本的Pandas(0

在pandas的早期版本中,只需使用以下命令即可删除空列:

df.dropna(axis='columns')

然而,dropna在以后的版本中已经贬值。现在如何从一个数据帧中删除多个空列(无需特别索引)?

您可以获取非空的列,然后在这些列上筛选数据帧

这里有一个例子

non_null_columns = [col for col in df.columns if df.loc[:, col].notna().any()]
df[non_null_columns]

在当前版本的Pandas(0.23.4)中,我可以使用
dropna()
删除空列。我使用的代码是:

df.dropna(how='all', axis=1)

看起来不推荐的是一次传递多个轴(即
df.dropna(how='all',axis=[0,1]
)。您可以看到他们做出了这样的决定——“让我们不推荐传递多个轴,我们不为任何其他函数这样做”。

dropna不是不推荐的,只有传递axis=1。并且解除润滑消息(“将元组或列表传递到多个轴上。”)对我来说毫无意义。知道他们在说什么吗?你在哪里看到
dropna
被复制了?@RafaelC我认为它不起作用是因为这个,但axis=1也不起作用。我总是忘记
在原地
。这对我
df.dropna>有效(inplace=True,axis=1,how='all')