在熊猫中分配日期

时间:2017-06-24 16:37:22

标签: python python-2.7 pandas

我正在尝试将Pandas数据框中的月份列转换为日期。每月将在此时间序列中添加新值

    month                      Values
0    2006M01                      279.59
1    2006M02                      280.90
2    2006M03                      282.89
3    2006M04                      284.32
4    2006M05                      284.76
5    2006M06                      284.68
6    2006M07                      284.19
7    2006M08                      284.38
8    2006M09                      286.04
9    2006M10                      286.07
10   2006M11                      286.43
11   2006M12                      286.43

1 个答案:

答案 0 :(得分:3)

to_datetimeformat参数一起使用:

df['date'] = pd.to_datetime(df['month'], format='%YM%m')
print (df)
      month  Values       date
0   2006M01  279.59 2006-01-01
1   2006M02  280.90 2006-02-01
2   2006M03  282.89 2006-03-01
3   2006M04  284.32 2006-04-01
4   2006M05  284.76 2006-05-01
5   2006M06  284.68 2006-06-01
6   2006M07  284.19 2006-07-01
7   2006M08  284.38 2006-08-01
8   2006M09  286.04 2006-09-01
9   2006M10  286.07 2006-10-01
10  2006M11  286.43 2006-11-01
11  2006M12  286.43 2006-12-01

也可以使用to_period转换为month period

df['period'] = pd.to_datetime(df['month'], format='%YM%m').dt.to_period('m')
print (df)
      month  Values  period
0   2006M01  279.59 2006-01
1   2006M02  280.90 2006-02
2   2006M03  282.89 2006-03
3   2006M04  284.32 2006-04
4   2006M05  284.76 2006-05
5   2006M06  284.68 2006-06
6   2006M07  284.19 2006-07
7   2006M08  284.38 2006-08
8   2006M09  286.04 2006-09
9   2006M10  286.07 2006-10
10  2006M11  286.43 2006-11
11  2006M12  286.43 2006-12
相关问题