Pandas DataFrame 按时间戳分组
问题描述
我有一个用例:
数据的格式为: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()
相关文章