【发布时间】:2021-11-19 19:53:51
【问题描述】:
我正在尝试将 1 分钟的柱状图重新采样为 5 分钟,但得到的结果不正确。
1 分钟数据:
我正在使用它来重新采样:
df2.resample("5min").agg({'open':'first',
'high':'max',
'low:'min',
'close':'last'})
我明白了:
对于第二行 (00:00:00),高点应为 110.34 而不是 110.35,收盘价应为 110.33。
我该如何解决这个问题?
EDIT 1 创建数据:
import datetime
import pandas as pd
idx = pd.date_range("2021-09-23 23:55", periods=11, freq="1min")
df = pd.DataFrame(index = idx)
data = [110.34,
110.33,110.34,110.33,110.33,110.33,
110.32,110.35,110.34,110.32,110.33,
]
df['open'] = data
df['high'] = data
df['low'] = data
df['close'] = data
df2 = df.resample("5min").agg({'open':'first',
'high':'max',
'low':'min',
'close':'last'})
print(df)
print("----")
print(df2)
【问题讨论】:
-
您的输出符合预期。第二行的数据
00:00:00表示在00:00:00处开始 的5 分钟数据。即从00:00:00到00:04:00 -
但我预计 00:00:00 是 23:56:00 到 00:00:00。我怎样才能做到这一点?
-
为什么要 23:56:00 - 00:00:00?你想滚动吗?因为第一个应该是 23:55:00 - 23:59:00,那么第二个 5 分钟应该是 00:00:00 - 00:04:00,以此类推。
-
我希望 5 分钟的条形图能在最后时间标记。所以 00:01:00 到 00:05:00 被标记为 00:05:00
-
问题是标签还是结果?
标签: python-3.x pandas pandas-resample