【问题标题】:Pandas overwrite column names by positionPandas 按位置覆盖列名
【发布时间】:2017-04-24 03:42:35
【问题描述】:

我正在读取 csv,我想覆盖前两个列名。

  • 我不能使用df.rename(columns={0:'name 1', 1:'name 2'}),因为这些列不称为 0 和 1。它们有名称,我只想将它们扔掉。

  • 好像

    df.columns.values[0] = 'name 1'
    df.columns.values[1] = 'name 2'
    

    有严重的问题,因为之后,df['name 1'] 给了我一个 KeyError。

  • 理想的是pd.read_csv(file, names=['name 1', 'name 2', ...]。奇怪的是,这将第 3 列重命名为“省略号”并且没有达到预期的效果。

关于如何在 pandas 中明智地做到这一点有什么想法吗?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    试试这个:

    df.columns = ['name 1', 'name 2'] + df.columns[2:].tolist()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-30
      • 2022-01-26
      • 2015-10-20
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多