Python透视表groupby或转置/取消堆栈
嗨,我有一个数据框在上面,票证到达时间,看起来像这样Python透视表groupby或转置/取消堆栈,python,python-3.x,pandas,pandas-groupby,pivot-table,Python,Python 3.x,Pandas,Pandas Groupby,Pivot Table,嗨,我有一个数据框在上面,票证到达时间,看起来像这样 Feedback time time hour Shift 0 12/2/20 23:58 2020-12-02 23:58:00 23 Shift 3 1 12/2/20 10:20 2020-12-02 10:20:00 10 Shift 1 2 12/2/20 11:40 2020-12-02 11:40
Feedback time time hour Shift
0 12/2/20 23:58 2020-12-02 23:58:00 23 Shift 3
1 12/2/20 10:20 2020-12-02 10:20:00 10 Shift 1
2 12/2/20 11:40 2020-12-02 11:40:00 11 Shift 1
....
458 11/18/20 16:01 2020-11-18 16:01:00 16 Shift 2
最早的日期是2020年11月18日,最晚的日期是2020年12月2日
而“转移”的定义是
conditions = [(df['hour'] >= 7) & (df['hour'] < 15),
(df['hour'] >= 15) & (df['hour'] < 23),
(df['hour'] < 7) | (df['hour'] >= 23)]
基本上,列是按周分组的,索引是班次,然后是白天的小时。
对于xx,我想计算上午7点间隔内“小时”的频率,对整个星期求和,然后得到整个星期的平均值(本例中为11/18-11/25),还需要它填充所有空单元格
我试过这个
s = pd.pivot_table(df,index=['Shift',"Hour"],columns =['Time'] ,values = ['hour'],aggfunc=[len])
但我的第一行只显示每天,而不是按周汇总
非常感谢你
s = pd.pivot_table(df,index=['Shift',"Hour"],columns =['Time'] ,values = ['hour'],aggfunc=[len])