Column1 Month Quantity Year
48 4 12.00 2006
49 5 13.00 2006
50 6 46.00 2006
51 7 11.00 2006
52 8 18.00 2006
53 9 16.00 2006
54 10 28.00 2006
83 1 6.00 2006
如何将月份列与年份列合并,并获取有意义的时间数据?
答案 0 :(得分:10)
In [42]: df['Date'] = pd.to_datetime(df.assign(Day=1).loc[:, ['Year','Month','Day']])
In [43]: df
Out[43]:
Column1 Month Quantity Year Date
0 48 4 12.0 2006 2006-04-01
1 49 5 13.0 2006 2006-05-01
2 50 6 46.0 2006 2006-06-01
3 51 7 11.0 2006 2006-07-01
4 52 8 18.0 2006 2006-08-01
5 53 9 16.0 2006 2006-09-01
6 54 10 28.0 2006 2006-10-01
7 83 1 6.0 2006 2006-01-01
或much nicer solution from @piRSquared:
In [55]: df['Date'] = pd.to_datetime(df[['Year', 'Month']].assign(Day=1))
In [56]: df
Out[56]:
Column1 Month Quantity Year Date
0 48 4 12.0 2006 2006-04-01
1 49 5 13.0 2006 2006-05-01
2 50 6 46.0 2006 2006-06-01
3 51 7 11.0 2006 2006-07-01
4 52 8 18.0 2006 2006-08-01
5 53 9 16.0 2006 2006-09-01
6 54 10 28.0 2006 2006-10-01
7 83 1 6.0 2006 2006-01-01
答案 1 :(得分:7)
df['Date'] = pd.to_datetime(df.Year.astype(str) + '-' + df.Month.astype(str))
print(df)
Column1 Month Quantity Year Date
0 48 4 12.0 2006 2006-04-01
1 49 5 13.0 2006 2006-05-01
2 50 6 46.0 2006 2006-06-01
3 51 7 11.0 2006 2006-07-01
4 52 8 18.0 2006 2006-08-01
5 53 9 16.0 2006 2006-09-01
6 54 10 28.0 2006 2006-10-01
7 83 1 6.0 2006 2006-01-01