Pandas DataFrame 按时间戳分组

2022-01-11 00:00:00 python pandas datetime time-series

问题描述

我有一个用例:

数据的格式为:Col1、Col2、Col3 和时间戳.

Data is of the form: Col1, Col2, Col3 and Timestamp.

现在,我只想获取行数与时间戳箱数.

Now, I just want to get the counts of the rows vs Timestamp Bins.

即对于每半小时的存储桶(即使是没有相应行的存储桶),我需要计算有多少行.

i.e. for every half hour bucket (even the ones which have no correponding rows), I need the counts of how many rows are there.

时间戳分布在一年的时间里,所以我不能把它分成 24 个桶.

Timestamps are spread over a one year period, so I can't divide it into 24 buckets.

我必须每隔 30 分钟将它们装箱.

I have to bin them at 30 minutes interval.


解决方案

groupby via pd.Grouper

# optionally, if needed
# df['Timestamp'] = pd.to_datetime(df['Timestamp'], errors='coerce')  
df.groupby(pd.Grouper(key='Timestamp', freq='30min')).count()

<小时>

重采样

df.set_index('Timestamp').resample('30min').count()

相关文章