我有一個產品在每個時間戳(間隔 1 分鐘)的價值的資料表。我想創建第三列,在 2 分鐘后回傳值。我可以知道怎么做嗎?謝謝
dateTime value
0 2021-06-01 00:00:00 37253.82000000
1 2021-06-01 00:01:00 37124.60000000
2 2021-06-01 00:02:00 37191.60000000
3 2021-06-01 00:03:00 37451.48000000
4 2021-06-01 00:04:00 37598.43000000
預期表:
dateTime value dateTime(2min) value(2min)
0 2021-06-01 00:00:00 37253.82000000 2021-06-01 00:02:00 37191.60000000
1 2021-06-01 00:01:00 37124.60000000 2021-06-01 00:03:00 37451.48000000
2 2021-06-01 00:02:00 37191.60000000 2021-06-01 00:04:00 37598.43000000
3 2021-06-01 00:03:00 37451.48000000 2021-06-01 00:05:00
4 2021-06-01 00:04:00 37598.43000000 2021-06-01 00:06:00
uj5u.com熱心網友回復:
如果您的dateTime列均勻分布,您可以使用:
out = df.join(df.set_index('dateTime').shift(freq='2T').shift(-2)
.reset_index().add_suffix('(2min)'))
print(out)
# Output:
dateTime value dateTime(2min) value(2min)
0 2021-06-01 00:00:00 37253.82 2021-06-01 00:02:00 37191.60
1 2021-06-01 00:01:00 37124.60 2021-06-01 00:03:00 37451.48
2 2021-06-01 00:02:00 37191.60 2021-06-01 00:04:00 37598.43
3 2021-06-01 00:03:00 37451.48 2021-06-01 00:05:00 NaN
4 2021-06-01 00:04:00 37598.43 2021-06-01 00:06:00 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366353.html
上一篇:創建空資料框并通過回圈添加值
