#python-3.x #pandas #dataframe
#python-3.x #pandas #фрейм данных
Вопрос:
Существует фрейм данных Pandas как:
year month count
0 2014 Jan 12
1 2014 Feb 10
2 2015 Jan 12
3 2015 Feb 10
Как создать индекс DateTime из «года» и «месяца», чтобы результат был :
count
2014.01.31 12
2014.02.28 10
2015.01.31 12
2015.02.28 10
Комментарии:
1. В вашем исходном фрейме данных у вас нет day, так где же нам найти этот столбец?
Ответ №1:
Используйте to_datetime
с DataFrame.pop
для использования и удаления столбцов и добавления offsets.MonthEnd
:
dates = pd.to_datetime(df.pop('year').astype(str) df.pop('month'), format='%Y%b')
df.index = dates pd.offsets.MonthEnd()
print (df)
count
2014-01-31 12
2014-02-28 10
2015-01-31 12
2015-02-28 10
Или:
dates = pd.to_datetime(df.pop('year').astype(str) df.pop('month'), format='%Y%b')
df.index = dates pd.to_timedelta(dates.dt.daysinmonth - 1, unit='d')
print (df)
count
2014-01-31 12
2014-02-28 10
2015-01-31 12
2015-02-28 10