熊猫计算按分钟分组的时间戳

时间:2020-09-15 13:23:00

标签: python pandas

我有一个单列的时间戳记。

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"))

帮助。

2 个答案:

答案 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