在python的数据框中计算每个日期的事件数

时间:2019-07-17 13:15:09

标签: python pandas

我正在尝试计算数据帧中每个日期发生的事件数。我创建了一个新的数据框,其中的日期仅发生一次,如何计算和汇总每个日期发生的事件。

到目前为止,我还没有找到合适的方法。

这是我拥有的数据的示例:

date    event
01/01/10    1
01/01/10    1
01/01/10    2
02/01/10    1
04/01/10    3

我希望得到这个结果

date     event1 event2  event3
01/01/10    2     1      0
02/01/10    1     0      0
04/01/10    0     0      1

任何建议都会受到欢迎

1 个答案:

答案 0 :(得分:3)

使用pd.crosstab

pd.crosstab(df['date'], df['event'])

输出:

event      date  1  2  3
0      01/01/10  2  1  0
1      02/01/10  1  0  0
2      04/01/10  0  0  1

而且,我们可以像这样进行清理和重命名:

pd.crosstab(df['date'], df['event'])\
  .add_prefix('event')\
  .rename_axis(None, axis=1)\
  .reset_index()

输出:

       date  event1  event2  event3
0  01/01/10       2       1       0
1  02/01/10       1       0       0
2  04/01/10       0       0       1