丢弃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) 

因为索引对象已被视为列表式。