#python #pandas #dataframe #time-series #data-analysis
#python #pandas #dataframe #временные ряды #анализ данных
Вопрос:
Я работаю с данными временных рядов, где у меня есть два столбца date и quantity. Дата указывается по дням. Я хочу добавить все количество за месяц и преобразовать его в одну дату.
дата — это мой индексный столбец
Пример
quantity
date
2018-01-03 30
2018-01-05 45
2018-01-19 30
2018-02-09 10
2018-02-19 20
Вывод :
quantity
date
2018-01-01 105
2018-02-01 30
Заранее спасибо!!
Комментарии:
1.
df.resample("M").sum()
. Сначала убедитесь, что дата находится в правильной форме :df.index = pd.to_datetime(df.index)
Ответ №1:
Вы можете уменьшить выборку, чтобы объединить данные за каждый месяц и суммировать их, связав метод sum .
df.resample("M").sum()
Ознакомьтесь с руководством пользователя pandas по повторной выборке здесь.
Для этого вам нужно убедиться, что ваш индекс находится в формате datetime. Итак, сначала сделайте : df.index = pd.to_datetime(df.index)
. Спасибо sammywemmy за тот же совет в комментариях.
Ответ №2:
Вы также используете groupby
для получения результатов.
df.index = pd.to_datetime(df.index)
df.groupby(df.index.strftime('%Y-%m-01')).sum()