![](/img/trans.png)
[英]Find gaps in pandas time series dataframe sampled at 1 minute intervals and fill the gaps with new rows
[英]aggregate time series dataframe by 15 minute intervals
我正在組合一堆不同的數據集來創建一個聚合,以 15 分鍾的間隔進行分析。
我目前的 dataframe 看起來像這樣,
<bound method NDFrame.to_clipboard of id user_id sentiment magnitude \
2020-10-04 14:06:00 10.0 cPL1Fg7BqRXvSFKeU1mJT7KCCTq2 -0.1 0.1
2020-10-04 14:06:05 11.0 cPL1Fg7BqRXvSFKeU1mJT7KCCTq2 -0.8 0.8
2020-10-05 12:28:58 12.0 cPL1Fg7BqRXvSFKeU1mJT7KCCTq2 -0.2 0.2
2020-10-05 12:29:16 13.0 cPL1Fg7BqRXvSFKeU1mJT7KCCTq2 -0.2 0.2
2020-10-05 12:29:31 14.0 cPL1Fg7BqRXvSFKeU1mJT7KCCTq2 0.2 0.2
angry disgusted fearful happy neutral sad \
2020-10-04 14:06:00 NaN NaN NaN NaN NaN NaN
2020-10-04 14:06:05 NaN NaN NaN NaN NaN NaN
2020-10-05 12:28:58 NaN NaN NaN NaN NaN NaN
2020-10-05 12:29:16 NaN NaN NaN NaN NaN NaN
2020-10-05 12:29:31 NaN NaN NaN NaN NaN NaN
surprised heartRate steps
2020-10-04 14:06:00 NaN NaN NaN
2020-10-04 14:06:05 NaN NaN NaN
2020-10-05 12:28:58 NaN NaN NaN
2020-10-05 12:29:16 NaN NaN NaN
2020-10-05 12:29:31 NaN NaN NaN >
我想將 dataframe 匯總為 15 分鍾間隔。
我認為 groupby 是最好的方法? 但我發現很難讓它特別好地工作:/
提前致謝,
有兩個選項,我們可以使用 resample 或 pd.Grouper(這是高性能的)。
讓我分享 pd.Grouper 的示例,以 15 分鍾間隔添加列值。
代碼
pd.DataFrame(df.groupby([pd.Grouper(key='date', freq='15Min')]).sum()).reset_index()
從您的數據中輸入樣本
date id
0 2020-10-04 14:06:00 10.0
1 2020-10-04 14:06:05 11.0
2 2020-10-05 12:28:58 12.0
3 2020-10-05 12:29:16 13.0
4 2020-10-05 12:29:31 14.0
Output
date id
0 2020-10-04 14:00:00 21.0
1 2020-10-04 14:15:00 0.0
2 2020-10-04 14:30:00 0.0
3 2020-10-04 14:45:00 0.0
4 2020-10-04 15:00:00 0.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.