【问题标题】:Dropping multiple columns in a pandas dataframe between two columns based on column names根据列名在两列之间删除熊猫数据框中的多列
【发布时间】:2021-10-05 10:26:49
【问题描述】:

一个超级简单的问题,我找不到答案。

我有一个包含 1000 多列的数据框,不能按列号删除,我不知道它们。我想根据它们的名称删除两列之间的所有列。

foo = foo.drop(columns = ['columnWhatever233':'columnWhatever826']) 

不起作用。我尝试了其他几个选项,但没有看到简单的解决方案。谢谢!

【问题讨论】:

  • 您的意思是在列表中使用逗号...foo = foo.drop(columns = ['columnWhatever233', 'columnWhatever826']) ?除了拼写错误,语法看起来是正确的,你能证明你所说的“不起作用”是什么意思吗?
  • 不,我故意放了:。如果我理解的话,加逗号只会删除两列。
  • @AbinashBishoyi,当然我从那个答案中尝试了几个选项,但由于某种原因它对我不起作用。

标签: python pandas dataframe drop


【解决方案1】:

您可以将.loc 与列范围一起使用。例如,如果你有这个数据框:

   A  B  C  D  E
0  1  3  3  6  0
1  2  2  4  9  1
2  3  1  5  8  4

然后删除列BD

df = df.drop(columns=df.loc[:, "B":"D"].columns)
print(df)

打印:

   A  E
0  1  0
1  2  1
2  3  4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多