【发布时间】:2019-08-24 00:04:29
【问题描述】:
我正在尝试删除数据框中的以下列:1,2,101:117,121:124,126。
到目前为止,我发现删除列的两种方法是:
df.drop(df.columns[2:6],axis=1)
df.drop(df.columns[[0,3,5]],axis=1)
如果我尝试
df.drop(df.columns[1,2,101:117,121:124],axis=1)
我收到“索引过多”错误
我也试过了
a=df.drop(df.columns[[1,2]],axis=1)
b=a.drop(a.columns[99:115],axis=1)
c=b.drop(b.columns[102:105],axis=1)
d=c.drop(c.columns[103],axis=1)
但这并没有因为某种原因删除我想要的列。
【问题讨论】:
-
这可能会有所帮助 - stackoverflow.com/questions/28538536/…
-
也许尝试以相反的顺序删除列?如果删除第 1 列和第 2 列,第 99 列将变为第 97 列。
-
在stackoverflow.com/a/14519521/5350621 中解释了如何将单个索引和范围组合到一个列表中。在你的情况下 index = [1,2] + list(range(101, 117)) + ... 然后是 df.drop(df.columns[index],axis=1)。
标签: python python-3.x pandas