使用熊猫来计算频率并计数记录

时间:2018-12-02 10:32:00

标签: python pandas

我有以下DataFrame:

df2 = pd.DataFrame({'Worker': ['A','A','B','B','C','D','D'],
                    'Task': ['T1','T2','T1','T3','T4','T1','T5'],
                    'Hour': [1,2,1,2,3,1,4]
                   })

输出为

  Worker Task  Hour
0      A   T1     1
1      A   T2     2
2      B   T1     1
3      B   T3     2
4      C   T4     3
5      D   T1     1
6      D   T5     4

我要有如下表格:

       Staff   Hour
Task     
 T1        3      3
 T2        1      2
 T3        1      2  
 T4        1      3
 T5        1      4

怎么做?谢谢。

[编辑:来自@ayhan的解决方案,但要求有所更新]

df2.groupby('Task').agg({'Worker': 'size', 'Hour': 'sum'})

但是,我刚刚意识到我不计算(即大小)“工人”的出现,而是确定每个任务的唯一工人数。

我对DataFrame进行了如下修改:

df2 = pd.DataFrame({'Worker': ['A','A','B','B','C','D','D'],
                    'Task': ['T1','T1','T2','T3','T4','T2','T2'],
                    'Hour': [1,2,1,2,3,1,4]
                   })

输出为

  Worker Task  Hour
0      A   T1     1
1      A   T1     2
2      B   T2     1
3      B   T3     2
4      C   T4     3
5      D   T2     1
6      D   T2     4

所需的输出是

       Staff   Hour
Task     
 T1        1      3
 T2        2      6
 T3        1      2  
 T4        1      3

0 个答案:

没有答案