Python 转换DataFrame以获取给定小时内的记录计数

Python 转换DataFrame以获取给定小时内的记录计数,python,pandas,Python,Pandas,我有一个数据框,看起来像这样: 其中,提交的时间请求是时间戳日期和时间 是从提交的时间请求中提取的值作为额外列 我想把它转换成这样: 其中,行表示日期,列为小时:上午9点、上午10点等。我希望这些值是给定一天中给定小时的计数,而不是0。希望它有意义 我在玩groupby、resample和pivot\u table游戏,但我似乎无法实现我想要的目标。我相信您需要: 备选方案: df1 = df.pivot_table(index='date', columns='hour', aggfunc

我有一个数据框,看起来像这样:

其中,
提交的时间请求
是时间戳<代码>日期和时间 是从提交的
时间请求中提取的值作为额外列

我想把它转换成这样:

其中,行表示日期,列为小时:上午9点、上午10点等。我希望这些值是给定一天中给定小时的计数,而不是0。希望它有意义

我在玩
groupby
resample
pivot\u table
游戏,但我似乎无法实现我想要的目标。

我相信您需要:

备选方案:

df1 = df.pivot_table(index='date', columns='hour', aggfunc='size', fill_value=0)

df1 = df.groupby(['date', 'hour']).size().unstack(fill_value=0)
或:


我想你们应该知道post pic作为输入数据,我们很难回答预期的输出。对不起,我不知道。下次我会做得更好。太好了。感谢您添加替代方案,我可以看到我的解决方案中缺少了什么。
df1 = df.pivot_table(index='date', columns='hour', aggfunc='size', fill_value=0)

df1 = df.groupby(['date', 'hour']).size().unstack(fill_value=0)
df1 = pd.crosstab(df['Time request submitted'].rename('date'), 
                  df['Time request submitted'].rename('hour'))