更改pandas透视表的区间范围
我有一个 pandas 的透视表,我想把数据的分组范围改成从 0 开始。
Hour_Num (0, 12] (12, 15] (15, 20] (20, 24] today_qty yesterday_qty today_qty yesterday_qty today_qty yesterday_qty today_qty yesterday_qty channel_name Ajio 22 68 0 55 0 53 0 32 Amazon 3 6 0 3 0 3 0 0 D2C 0 0 0 1 0 0 0 0 Flipkart 25 32 0 18 0 42 0 26 Limeroad 1 0 0 0 0 1 0 0 Meesho 3 7 0 3 0 1 0 0 Myntra 61 102 0 53 0 96 0 55 Nykaa 12 8 0 10 0 14 0 18 Snapdeal 0 0 0 0 0 0 0 1 TataCliq 3 9 0 2 0 5 0 5
我想要的分组是 (0, 12] (0, 15] (0, 20] (0, 24]。我想显示从一天开始到中午12点、下午3点、晚上8点和午夜12点的订单总数。
12: 中午12点
15: 下午3点
20: 晚上8点
24: 午夜12点
这是我的代码:
df['Hour_Num'] = pd.cut(df.order_hour,[0,12,15,20,24])
pivot_df = df.pivot_table(index='channel_name', values=(['yesterday_qty','today_qty']), columns=['Hour_Num'], aggfunc=('sum')).fillna(0)
pivot_df = pivot_df.swaplevel(0,1, axis=1).sort_index(axis=1)
我很感激任何提示或解决方案。谢谢。
1 个回答
暂无回答