【问题标题】:Pandas get all columns without one [duplicate]熊猫得到没有一列的所有列[重复]
【发布时间】:2016-09-23 06:36:45
【问题描述】:

在 pandas 中,如果我有一个名为 df 的数据框,我可以用

获得一列
df.column_one

而且,我可以使用

获得一些特定的列
df[['column_one', 'column_two']]

如何在没有特定列的情况下获取所有列?

示例:如果我有一个包含 n 列的数据框 col_1, col_2, ... col_n, 如何在没有col_n 的情况下获取所有列?

【问题讨论】:

  • 有一种鲜为人知的方法可以做到这一点:df[df.columns.difference('col_n')]

标签: python pandas dataframe


【解决方案1】:

试试这个:

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

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

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

或@IanS 在评论中发布:

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

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

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

【讨论】:

  • 还有一种鲜为人知的方法可以做到这一点:df[df.columns.difference('col_n')].
  • @IanS,谢谢!我已将其添加到答案中
【解决方案2】:

你可以使用 df.drop:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-05
    • 2017-01-16
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多