丢弃pandas中的多个列
我试图通过索引号在pandas数据框中删除多列(我的数据集中的第2列和第70列,分别编号为1和69),代码如下:
df.drop([df.columns[[1, 69]]], axis=1, inplace=True)
我得到以下错误:
TypeError: unhashable type: 'Index'
在我的代码中,[1,69]突出显示并说:
Expected type 'Integral', got 'list[int]' instead
下面的代码做我想要它成功,但在两行重复代码(首先下降col索引69,然后1,顺序确实重要,因为删除较早的列更改后面的列的索引)。 我以为我可以指定多个列索引只是作为一个列表,但也许我上面有什么错?
df.drop([df.columns[69]], axis=1, inplace=True) df.drop([df.columns[1]], axis=1, inplace=True)
有没有一种方法,我可以做到这一点类似于上面的第一个代码片段?
您不需要用[..]
将其包装在列表中,只需提供列索引的子选项即可:
df.drop(df.columns[[1, 69]], axis=1, inplace=True)
因为索引对象已被视为列表式。