Используйте to_datetime
, но необходимо переименовать столбцы:
data = {"YYYY": ["2010", "2012", "2015"],
"MM": ["5", "10", "12"],
"DD": ["1", "2", "3"],
"foo": range(3)}
climate_nozero = pd.DataFrame(data)
climate2 = climate_nozero.rename(columns = {'YYYY':'Year','MM':'Month','DD':'Day'})
climate2.index = pd.to_datetime(climate2[['Year','Month','Day']])
print (climate2)
Year Month Day foo
2010-05-01 2010 5 1 0
2012-10-02 2012 10 2 1
2015-12-03 2015 12 3 2
И затем, если хотите удалить столбцы:
climate2 = climate2.drop(['Year','Month','Day'], axis=1)
print (climate2)
foo
2010-05-01 0
2012-10-02 1
2015-12-03 2
Если хотите столбец даты и времени:
climate2['date'] = pd.to_datetime(climate2[['Year','Month','Day']])
print (climate2)
Year Month Day foo date
0 2010 5 1 0 2010-05-01
1 2012 10 2 1 2012-10-02
2 2015 12 3 2 2015-12-03