在對 ffill() 或 bfill() 物件列執行 resampling() 時有什么方法嗎?
假設我們有:
日期 | 種類 | 價值 |
---|---|---|
2022-10-23 15:40:41 | 一個 | 1個 |
2022-10-23 18:43:13 | 乙 | 2個 |
2022-10-24 15:40:41 | C | 3個 |
2022-10-24 18:43:13 | D | 4個 |
我想得到以下結果:
df.resample("15min").mean()
日期 | 種類 | 價值 |
---|---|---|
2022-10-23 15:45:00 | 一個 | 1個 |
2022-10-23 16:00:00 | 一個 | 1個 |
2022-10-23 16:15:00 | 一個 | 1個 |
2022-10-23 16:35:00 | 一個 | 1個 |
... | ... | ... |
2022-10-23 18:00:00 | D | 1個 |
2022-10-23 18:15:00 | D | 1個 |
2022-10-23 18:30:00 | D | 1個 |
2022-10-23 18:45:00 | D | 1個 |
但它總是踢出“排序列”。如果這里有人可以提供幫助,那就太好了!
最好的M。
uj5u.com熱心網友回復:
您可以單獨為您的列指定聚合函式,例如:
df = df.resample("15min").agg({"Sort": min, "Value": np.mean}).ffill()
輸出:
Sort Value
Date
2022-10-23 15:30:00 A 1.0
2022-10-23 15:45:00 A 1.0
2022-10-23 16:00:00 A 1.0
2022-10-23 16:15:00 A 1.0
2022-10-23 16:30:00 A 1.0
... ... ...
2022-10-24 17:30:00 C 3.0
2022-10-24 17:45:00 C 3.0
2022-10-24 18:00:00 C 3.0
2022-10-24 18:15:00 C 3.0
2022-10-24 18:30:00 D 4.0
uj5u.com熱心網友回復:
如果每次使用都需要前向填充first
值:Sort
mean
Value
df = df.resample("15min").agg({'Sort':'first', 'Value':'mean'}).ffill()
print (df)
Sort Value
Date
2022-10-23 15:30:00 A 1.0
2022-10-23 15:45:00 A 1.0
2022-10-23 16:00:00 A 1.0
2022-10-23 16:15:00 A 1.0
2022-10-23 16:30:00 A 1.0
... ...
2022-10-24 17:30:00 C 3.0
2022-10-24 17:45:00 C 3.0
2022-10-24 18:00:00 C 3.0
2022-10-24 18:15:00 C 3.0
2022-10-24 18:30:00 D 4.0
[109 rows x 2 columns]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/533412.html
上一篇:重命名資料框中的列