【问题标题】:Delete Multiple Columns [duplicate]删除多列[重复]
【发布时间】:2020-09-14 14:12:05
【问题描述】:

对于包含 10 列的数据框,如何从索引 2 开始删除列。数据框如下所示:

column1    column2    column3    column4 ...

任务是删除column3-column10

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    反转逻辑 - 按DataFrame.iloc 的位置选择前 2 列:

    df = df.iloc[:, :2]
    

    如果需要DataFrame.drop 选择带有索引的列名:

    df = df.drop(df.columns[2:], axis=1)
    

    【讨论】:

    • 可能是inplace=True ?
    • @JonClements - 我更喜欢分配,link ;)
    • 有趣 - 感谢您的链接 - 稍后必须正确阅读 - 乍一看并不完全相信我同意那里的建议 - 但感谢您的提醒
    • @JonClements - 是的,有趣的阅读。 ;)
    【解决方案2】:

    这应该对你有用

    df.drop(columns=df.columns[2:])
    

    df.drop(columns=[...]) 将删除提供的列

    df.columns[2:] 将返回列列表,[2:] 选择所有列,从 第三 列开始,一直到最后。

    【讨论】:

      【解决方案3】:

      试试这个

      df.iloc[::,0:3]
      

      结果应该是你想要的部分

      【讨论】:

      • 双精度::会报错。
      猜你喜欢
      • 2022-01-14
      • 2021-11-03
      • 2013-07-24
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      相关资源
      最近更新 更多