簡體   English   中英

如何計算時間序列的最大天數以及相關小時數?

[英]How to calculate day max for time series along with relevant hour?

我有一個 dataframe 里面有一些時間序列。 它有 3 列:日、小時和值:

小時 價值
1月12日 11-00 14
1月12日 12-00 100
1月12日 13-00 345
1月12日 14-00 195
1月13日 12-00 76
1月13日 13-00 221
1月13日 14-00 102
1月13日 15-00 395

如您所見,在 13-00 觀察到 1 月 12 日的最大值。

我想計算每個“天”的“價值”的最大值。 我可以通過簡單的方式做到這一點

df.groupby("day")["value"].max()

它有效,但顯然在分組后我們刪除了小時信息。 問題是:我如何構建 dataFrame 它將包含天最大值以及觀察到該值的小時,即

觀察到 maxValue 的小時 最大值
1月12日 13-00 345
1月13日 15-00 395

?

編輯

我創建了您的df樣本:

         day   hour  value
0 2021-01-12  11-00     14
1 2021-01-12  12-00    100
2 2021-01-12  13-00    345
3 2021-01-12  14-00    195
4 2021-01-13  12-00     76
5 2021-01-13  13-00    221
6 2021-01-13  14-00    102
7 2021-01-13  15-00    395

並在其上運行此代碼:

res = pd.merge(df.groupby('day').agg({'value':'max'},as_index=False).add_prefix('max_'),df,how='left',left_on='max_value',right_on='value')

回來了:

   max_value        day   hour  value
0        345 2021-01-12  13-00    345
1        395 2021-01-13  15-00    395

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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