Python Pandas 按邮政编码堆叠并按月/年分组

Posted

技术标签:

【中文标题】Python Pandas 按邮政编码堆叠并按月/年分组【英文标题】:Python Pandas stack by zip code and group by month/year 【发布时间】:2019-05-04 18:20:12 【问题描述】:

我有一个包含交易数据的大型数据框。我想要做的是使用 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】:

如果需要按 zip 和按月分组,我相信您需要将列 ZipCode 添加到 groupby

per = df.Date.dt.to_period("M")
df1 = df.groupby(['ZipCode',per])['Transactions'].sum().reset_index() 

【讨论】:

谢谢!像魅力一样工作!

以上是关于Python Pandas 按邮政编码堆叠并按月/年分组的主要内容,如果未能解决你的问题,请参考以下文章

sql 按计数获取日期的博客存档格式,并按月/年分组

Python Pandas:按日期分组,并按时间戳访问每个组

MySQL之按月拆分主表并按月分表写入数据提高数据查询速度

pandas使用resample函数计算特定疾病按月花费总和pct_change函数计算特定疾病按月花费总和环比变化率并使用matplotlib可视化疾病按月花费总和环比变化率

Pandas 数据透视表和分组按月和小时

pandas:按月和天匹配数据