我试图通过以下代码在pandas数据框中删除索引号的多列(我的数据集中的第2列和第70列,分别索引为1和69):
df.drop([df.columns[[1, 69]]], axis=1, inplace=True)
我收到以下错误:
TypeError: unhashable type: 'Index'
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)
因为索引对象已被视为类似列表.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。