首页 > 解决方案 > 如何使用 Pandas 删除特定列?

问题描述

我正在尝试使用 CSV 数据集,特别是来自 AirQualityUCI 的数据集。我正在使用 Pandas,需要删除某些列。

df = pd.read_csv("D:/air/AirQualityUCI.csv") 
print(df.columns)

产量

Index(['Date;Time;CO(GT);PT08.S1(CO);NMHC(GT);C6H6(GT);PT08.S2(NMHC);NOx(GT);PT08.S3(NOx);NO2(GT);PT08.S4(NO2);PT08.S5(O3);T;RH;AH;;'], dtype='object')

只是为了说明删除单个列,第四列给出错误 KeyError: "['PT08.S1(CO)'] not found in axis" 以及其他和多个键,也使用整数。有什么建议么?

标签: pandasdataframe

解决方案


自从

print(df.columns)

产量

Index(['Date;Time;...;RH;AH;;'], dtype='object')

我们知道数据被解释为panda.Index对象而不是列表。

panda.Index对象是“用于索引和对齐的不可变序列。存储所有 pandas 对象的轴标签的基本对象。

因此,为了执行任何列表操作,您需要通过调用.toList()函数将 Index 对象转换为列表。

df = pd.read_csv("D:/air/AirQualityUCI.csv").toList() # convert to a list
df = df.drop('PT08.S1(CO)') # drop the column 'PT08.S1(C0)'

推荐阅读