在python中计算数据帧中每个日期的事件数
我试图统计数据帧中每个日期发生的事件数。我已经创建了一个新的数据框架,其中日期只发生一次,我将如何对每个日期发生的事件进行计数和汇总 到目前为止,我还没有找到合适的方法 这是我拥有的数据的一个示例:在python中计算数据帧中每个日期的事件数,python,pandas,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
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
如有任何建议,我们将不胜感激使用
pd。交叉表
:
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
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
我们可以像这样进行清理和重命名:
pd.crosstab(df['date'], df['event'])\
.add_prefix('event')\
.rename_axis(None, axis=1)\
.reset_index()
输出:
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
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
使用pd.交叉表
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
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
我们可以像这样进行清理和重命名:
pd.crosstab(df['date'], df['event'])\
.add_prefix('event')\
.rename_axis(None, axis=1)\
.reset_index()
输出:
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
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
通过输入和预期输出使您的问题更清楚Hanks Ankit Agrawal,仅供将来参考,我将如何使用您编辑的表格设置问题?不客气!只需将它们标记为代码块再次感谢Ankit。复制粘贴问题中的表格,选择文本并单击{}
。您可以查看工具栏右角的帮助按钮(the?),该按钮位于您编写问题的文本区域顶部。通过输入和预期输出使您的问题更清晰Hanks Ankit Agrawal,仅供将来参考,我将如何使用您精心编辑的表设置问题?不客气!只需将它们标记为代码块再次感谢Ankit。复制粘贴问题中的表格,选择文本并单击{}
。您可以查看工具栏右角文本区域顶部的“帮助”按钮(在?)来编写问题。