我有一个大熊猫数据框(>;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: operands could not be broadcast together with shapes (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
干杯
您可以使用这个简单的解决方案:
结果是:
如您所见,具有给定索引的列已全部删除。
如果我们假设您有A、B、C……等,您可以用数组中的列的名称替换int值,您可以这样替换
cols
中的int值,例如:可以使用^{} 无缝组合多个范围/切片:
然后可以使用} :
idx
为列编制索引并馈送到^{IIUC:
相关问题 更多 >
编程相关推荐