首页 > 解决方案 > 使用 Pandas,如何删除具有 2 级多索引标题的数据框中的空列

问题描述

我有以下带有列标题的 2 级多索引的 Excel 电子表格:

在此处输入图像描述

我正在将 Excel 文件加载到 Pandas 数据框中,如下所示:

df = pd.read_excel('Bike Total Data.xlsx', header=[0,1], sheet_name="Control (E)")

而且我想使用 Pandas 删除空白(黑色)列(因为有数百个)。

我需要这样做的原因实际上是因为我面临的另一个问题(在 Pandas 中,出现了一个重复的列,名称后附加了“.1”)。但是我还没有找到解决该问题的方法,这就是为什么我要尝试删除空白列的原因……并且希望此后能够重新添加黑色列,或者在每个列的右侧添加粗边框MV (calc)在完成所有必要的数据操作之后。但我离题了。

如何使用 Pandas 删除此数据框中的空白列?

标签: pythonpandasdataframe

解决方案


如果黑色列是唯一df完全由NaNs 组成的列,您可以尝试使用以下任一方法删除它们

clean_df = df.dropna(axis='columns', how='all')

或者

clean_df = df.loc[:, df.notna().any()]

推荐阅读