簡體   English   中英

以 15 分鍾間隔聚合時間序列 dataframe

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM