【发布时间】:2019-01-16 20:35:21
【问题描述】:
我有一个大熊猫数据框(>100 列)。我需要删除各种列,我希望有一种使用旧的方法
df.drop(df.columns['slices'],axis=1)
我已经建立了选择,例如:
a = df.columns[3:23]
b = df.colums[-6:]
a 和 b 代表我要删除的列集。
以下
list(df)[3:23]+list(df)[-6:]
产生正确的选择,但我无法用drop 实现它:
df.drop(df.columns[list(df)[3:23]+list(df)[-6:]],axis=1)
ValueError: 操作数不能与形状一起广播 (20,) (6,)
我环顾四周,但无法得到答案。
Selecting last n columns and excluding last n columns in dataframe
(以下与我收到的错误有关):
python numpy ValueError: operands could not be broadcast together with shapes
这个感觉就像他们遇到了类似的问题,但“切片”并不是分开的: Deleting multiple columns based on column names in Pandas
干杯
【问题讨论】:
-
试试
df.drop(columns=list(df)[3:23]+list(df)[-6:]) -
这也很有效——像往常一样,给猫剥皮的方法不止一种。这更符合我想要达到的目标,非常感谢。
标签: python pandas numpy dataframe indexing