Pandas 将日期列按月份分组并划分
我有一个数据帧df:Pandas 将日期列按月份分组并划分,pandas,Pandas,我有一个数据帧df: store date invoice_count A 2018-04-03 2 A 2018-04-06 5 A 2018-06-15 5 B 2018-05-05 2 B 2018-04-09 5 C 2018-02-16 6 其中包含给定日期的门店发票数量(生成的发票数量) 我正试图将它们分组,以便每个商店
store date invoice_count
A 2018-04-03 2
A 2018-04-06 5
A 2018-06-15 5
B 2018-05-05 2
B 2018-04-09 5
C 2018-02-16 6
其中包含给定日期的门店发票数量(生成的发票数量)
我正试图将它们分组,以便每个商店都能得到一个月的发票数量
此格式的预期最终数据帧:
store jan_18 feb_18 mar_18 apr_18 may_18 june_18
A 0 0 0 7 0 5
B 0 0 0 5 2 0
C 0 6 0 0 0 0
有没有办法根据月份对日期进行分组
注意:这是一个虚拟数据框,最终的每月列名可以采用其他适当的格式。与一起使用并聚合sum
,然后根据重塑,必要时通过添加缺少的列,日期时间的上次更改格式为:
非常好而且很快。
df = (df.set_index('date')
.groupby('store')
.resample('m')['invoice_count']
.sum()
.unstack(fill_value=0))
df = df.reindex(columns=pd.date_range('2018-01-01', df.columns.max(), freq='m'), fill_value=0)
df.columns = df.columns.strftime('%b_%y')
print (df)
Jan_18 Feb_18 Mar_18 Apr_18 May_18 Jun_18
store
A 0 0 0 7 0 5
B 0 0 0 5 2 0
C 0 6 0 0 0 0