根据组计算列数值的计数

时间:2017-09-08 02:33:25

标签: python-3.x dataframe

我想根据列时间的小时和时间绘制列结果中的零或3的计数。我搜索了一些代码,我可以按时间和时间分组。但是如何基于组应用计数零或3的值?

group = result.groupby(by=[result.event_dt.map(lambda x : x.hour), result.event_dt.map(lambda x : x.minute)])


                  time        outcome
2017-05-31 03:34:04           3
2017-05-31 03:34:04           3
2017-05-31 04:11:30           3
2017-05-31 04:42:22           3
2017-05-31 05:18:18           3
2017-05-31 05:18:18           0
2017-05-31 06:44:13           3
2017-05-31 06:44:13           3
2017-05-31 09:12:20           3
2017-05-31 09:12:20           0
2017-05-31 09:12:20           3
2017-05-31 09:12:20           0
2017-05-31 09:12:20           0
2017-05-31 09:12:20           0
2017-05-31 09:12:20           3
2017-05-31 09:12:20           3
2017-05-31 09:12:20           3
2017-05-31 09:12:20           3
2017-06-01 00:13:06           0
2017-06-01 00:13:06           0
2017-06-01 00:57:29           0
2017-06-01 00:57:29           3
2017-06-01 00:57:29           3
......
2017-07-01 09:12:20           3
2017-07-01 19:22:20           0
2017-07-01 09:12:20           3
2017-06-01 00:13:06           0
2017-06-01 00:13:06           0
2017-06-01 00:57:29           0
2017-06-01 00:57:29           3
2017-06-01 00:57:29           3

1 个答案:

答案 0 :(得分:0)

我不确定你想如何绘制它,但我认为这样的东西是你正在寻找的。

times = pd.to_datetime(df.time)
ds = df.groupby(by=[times.dt.hour, times.dt.minute, df.outcome]).count().reset_index(level=['outcome'])