我有一个单列的时间戳记。
2020-09-14 23:54:03.050
2020-09-14 23:55:05.859
2020-09-14 23:56:05.859
2020-09-14 23:57:05.858
2020-09-14 23:58:05.059
2020-09-14 23:58:05.859
2020-09-15 00:00:05.859
我想每隔一分钟对它们进行分组并显示其计数。
TIMESTAMP COUNT
2020-09-14 23:54 1
2020-09-14 23:55 1
2020-09-14 23:56 1
2020-09-14 23:57 1
2020-09-14 23:58 2
2020-09-14 23:59 0
2020-09-15 00:00 1
我尝试了以下操作(说实话,还有很多其他事情),但似乎无法计数。
data.groupby(pd.Grouper(freq="1min"))
帮助。
答案 0 :(得分:2)
您可以先做to_frame,然后我们才能通过密钥
out = data.to_frame('time').groupby(pd.Grouper(key='time', freq="1min")).size()
Out[190]:
time
2020-09-14 23:54:00 1
2020-09-14 23:55:00 1
2020-09-14 23:56:00 1
2020-09-14 23:57:00 1
2020-09-14 23:58:00 2
2020-09-14 23:59:00 0
2020-09-15 00:00:00 1
Freq: T, dtype: int64
答案 1 :(得分:1)
您需要在pd.Grouper
中传递密钥:
df.groupby(pd.Grouper(key="TIMESTAMP", freq="1min"))["TIMESTAMP"].count()
TIMESTAMP
2020-09-14 23:54:00 1
2020-09-14 23:55:00 1
2020-09-14 23:56:00 1
2020-09-14 23:57:00 1
2020-09-14 23:58:00 2
2020-09-14 23:59:00 0
2020-09-15 00:00:00 1