Python 每小时统计数据帧中的行数

Python 每小时统计数据帧中的行数,python,pandas,Python,Pandas,我有一个包含两列的数据帧:timeStamp和eventMessage(string) 我想以一个数据帧结束,它有两列:hour和numberOfEvents per the hour hour: numberOfEvents: 1 41 2 0 ... ... 24 32 我已经尝试了df.resample('H',on='timeStamp',how='count'),但是我认为how='count'现在已经被弃用

我有一个包含两列的数据帧:timeStamp和eventMessage(string)

我想以一个数据帧结束,它有两列:hour和numberOfEvents per the hour

 hour:     numberOfEvents:
 1         41
 2         0
 ...       ...
 24        32
我已经尝试了
df.resample('H',on='timeStamp',how='count')
,但是我认为how='count'现在已经被弃用了

有没有新的快速方法

更新:多亏了Ami Tavory的提示,df现在看起来像这样:

timeStamp
10    792
11    792
14    594
15    198
16    198
实际上我不确定它是一个包含一列的数据帧还是其他类型的数据帧。我如何填写零事件的小时数

小更新:是pandas.core.series.series

使用以下命令将其转换为df:

series = df.message.groupby(pd.to_datetime(df.timeStamp).dt.hour).count()
df2 = pd.DataFrame({'hour': series.index, 'counted': series.values})

现在,我只需要找出如何添加和填充从1到24的其他小时,这些小时没有零事件。

按小时分组,然后计数:

df.eventMessage.groupby(pd.to_datetime(df.timeStamp).dt.hour)).count()

关于您的新问题(编辑后)

使用以下命令将其转换为df:

series = df.message.groupby(pd.to_datetime(df.timeStamp).dt.hour).count()
df2 = pd.DataFrame({'hour': series.index, 'counted': series.values})
您可以更轻松地将其转换为

df=series.to_frame()

现在我只需要找出如何添加和填充从1到24的其他小时,这些小时没有零事件


您可以
.groupby
您可以再分享几行源数据和预期结果吗?谢谢!但是我得到了“一个值正试图在一个数据帧的切片副本上设置。请尝试使用.loc[row\u indexer,col\u indexer]=value”。我是个笨蛋。我将其解释为链分配中的临时数据未设置为行和列,对吗?哪一行给出了此警告?如果你只运行我建议的代码,你明白吗?哦,你说得对!这是另一个方面的问题。你的代码成功了!我将编辑问题帖子,因为我无法在这里写输出。谢谢你,阿美!
new_index = Index(arange(0,23,1), name="hour")
df.set_index("hour").reindex(new_index).fillna(0)