Python pandas 的pivot_table可以实现与Excel透视表类似的效果,但是如果index参数列中存在Nan值,就会导致改行记录不被计入。
result=data.pivot_table(index=["商家名称","月份","活动类型","满减门槛","满减金额"],values=["补贴金额","原价"],aggfunc={"补贴金额":np.sum,"原价":np.sum}).reset_index()#因满减门槛及满减金额存在Nan值,导致pivot_table的结果并不准确
目前我是采用以下两种方式避免这种问题:
法一:用空字符串替换Nan值
data.loc[data["满减门槛"].isna(),"满减门槛"]=""
data.loc[data["满减金额"].isna(),"满减金额"]=""
法二:使用fillna()替换Nan值
df["满减门槛"].fillna(0,inplace=True)
df["满减金额"].fillna(0,inplace=True)