Стек 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() 
Другие вопросы по тегам