关于python:pandas获取所有列除了一个列

Pandas get all columns without one

本问题已经有最佳答案,请猛点这里访问。

在熊猫中,如果我有一个名为df的数据帧,我可以得到一列

1
df.column_one

而且,我可以得到一些特定的列

1
df[['column_one', 'column_two']]

如何获取没有特定列的所有列?

示例:如果我有一个数据帧,其中有n列col_1col_2……col_n;没有col_n,如何获取所有列?


试试这个:

1
df.drop(['col_n'], axis=1)

1
df.loc[:, df.columns != 'col_n']

1
df.loc[:, df.columns - ['col_n']]

或者正如@ians在评论中所说:

1
df[df.columns.difference('col_n')]

或者结合使用filter()函数与负前瞻正则表达式:

1
df.filter(regex=r'^((?!col_n).*)$')


您可以使用df.drop:

1
df.drop('column_one',axis=1)