How to put month and year in the same column in Python Pandas
2 answers
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
Or a 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
+4
source to share
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
+4
source to share