Стек Python Pandas по почтовому индексу и группировка по месяцам / годам
У меня есть большой фрейм данных с данными транзакций. Я пытаюсь использовать Python для агрегирования данных, начиная с почтовых индексов, затем год и месяц, и, наконец, общее количество транзакций за этот месяц.
Мой Df:
Date VAR1 VAR2 ZipCode Transactions
YYYY-MM-DD. X. Y. 12345. 1.
Итак, первое, что я сделал, это преобразовал время в дату
df['Date'] = pd.to_datetime(df['Date'])
df.info()
# Date datetime64[ns]
Затем я разбил данные на год-месяц и количество транзакций:
# grouping the data by year and month
per = df.Date.dt.to_period("M")
g = df.groupby(per)
g.sum() # so now that this works, we need to break it up into zip codes
Который дает вывод:
Date. Transactions
YYYY-MM. X
YYYY-MM. Y
Мои вопросы: что мне не хватает, чтобы получить почтовые индексы впереди:
ZipCode. Date. Transactions
123345. YYYY-MM. sum()
Любая помощь очень ценится
1 ответ
Решение
Я считаю, что вам нужно добавить столбец ZipCode
в groupby
при необходимости группировка по почтовому индексу и по месяцам:
per = df.Date.dt.to_period("M")
df1 = df.groupby(['ZipCode',per])['Transactions'].sum().reset_index()