根据列名在两列之间的 pandas 数据框中删除多列

Dropping multiple columns in a pandas dataframe between two columns based on column names

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

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

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

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

您可以对列范围使用 .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