【问题标题】:How to change column names from numbers to names [closed]如何将列名从数字更改为名称[关闭]
【发布时间】:2020-04-10 04:39:55
【问题描述】:

我有一个如下所示的数据框:

我想更改列名,例如:“2018-12-31 00:00:00”到“year_2018”。 我该怎么做?

【问题讨论】:

  • 请在您的问题中分享您的数据框的文本,而不是图片。
  • 请提供一个minimal reproducible example,包括代码,说明您根据自己的研究到目前为止所尝试的内容,以及您的尝试出了什么问题
  • 列的数据类型是什么?

标签: python python-3.x pandas dataframe


【解决方案1】:

首先,将非日期列移入索引,然后使用replace和reset_index:

df = df.set_index('CashFlows')
df = df.rename(columns=lambda x: 'year_'+str(x.year))

【讨论】:

    【解决方案2】:

    假设你有以下数据框

           2018-12-31 00:00:00   2019-12-31 00:00:00      2020-12-31 00:00:00
    0           blah                blah                     blah
    1           blah                blah                     blah
    
    

    只是做

    from dateutil import parser
    df.columns = [parser.parse(c).strftime('year_%Y') for c in df.columns]
    df
    

    输出

            year_2018      year_2019     year_2020
    0          blah          blah          blah
    1          blah          blah          blah
    
    

    【讨论】:

      【解决方案3】:

      查看df.columns,找到列名和dtype。

      df.rename(columns={'foo':'bar'},inplace=True)
      

      【讨论】:

        猜你喜欢
        • 2021-03-29
        • 1970-01-01
        • 2021-02-15
        • 2019-04-28
        • 2015-09-09
        • 1970-01-01
        • 2018-06-10
        • 2012-05-04
        • 2016-12-21
        相关资源
        最近更新 更多