pd.to_datetime
может автоматически анализировать даты из нескольких столбцов, если они имеют правильные имена ('year', 'month', 'day', 'hour', 'minute'
)
pd.to_datetime(df[['YY', 'MM', 'DD']].rename(columns={'YY': 'year', 'MM': 'month', 'DD': 'day'}))
Вывод:
1 2017-01-02
2 2017-01-02
3 2017-01-02
4 2017-01-02
5 2017-01-02
...
2427 2017-03-05
2428 2017-03-05
2429 2017-03-05
2430 2017-03-05
Вы также можете добавить часы и минуты:
pd.to_datetime(df[['YY', 'MM', 'DD', 'hh', 'mm']].rename(
columns={'YY': 'year', 'MM': 'month', 'DD': 'day',
'hh': 'hour', 'mm': 'minute'}))
#1 2017-01-02 06:00:00
#2 2017-01-02 06:20:00
#...
#2429 2017-03-05 01:40:00
#2430 2017-03-05 02:00:00