试图绘制每个熊猫人的2年历史。
问题在于,并非每个人都拥有2年的数据,通常更少。
在所有人所有交易的数据集中,我正在按日期进行分组,但是如果申请人没有交易历史记录,pd.Grouper不会进行groupby(grouperObj).count()。
因此,人员A的交易记录为10/1/2017到10/1/2018,但是人员B的记录从10/1/2016到8/1/2018。我正在尝试为所有人绘制从2015年1月1日到2018年1月1日的地图。
如何对此进行规范化?
答案 0 :(得分:1)
您可以将日期转换为类别数据类型
数据输入
df=pd.DataFrame({'person':['A','B'],'date':['2018-09-23','2017-10-02']})
df.date=pd.to_datetime(df.date)
解决方案
df.date=pd.Categorical(df.date,categories=pd.date_range(start='10/1/2017',end='10/1/2018',freq='D'))
target=pd.crosstab(df.person,df.date).stack()