如何将列名从数字更改为名称

时间:2019-12-17 16:22:42

标签: python python-3.x pandas dataframe

我有一个看起来像这样的数据框:

dataframe

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

假设您具有以下数据框

       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