Python 熊猫:获取每行的ohlc数据
我有一个带有Python 熊猫:获取每行的ohlc数据,python,numpy,pandas,dataframe,Python,Numpy,Pandas,Dataframe,我有一个带有datetime索引和价格列的DataFrame。我要ohlc数据。(开、高、低、关) 我想在每一行以给定的频率重新采样这个数据帧 frame.resample('60S',how='ohlc')起作用,但现在数据帧的索引间隔为60秒。我想在前60年代的每一行重新取样。(如果指数相隔5秒,则为12)。这样,我就可以为原始数据帧中的每一行设置ohlc值 我不认为我想用df.resample做什么是可能的,但可能用.agg或.map 如何获取每行的ohlc数据 对于等距时间戳: bars
datetime
索引和价格列的DataFrame
。我要ohlc数据。(开、高、低、关)
我想在每一行以给定的频率重新采样这个数据帧
frame.resample('60S',how='ohlc')
起作用,但现在数据帧的索引间隔为60秒。我想在前60年代的每一行重新取样。(如果指数相隔5秒,则为12)。这样,我就可以为原始数据帧中的每一行设置ohlc值
我不认为我想用df.resample
做什么是可能的,但可能用.agg
或.map
如何获取每行的ohlc数据
对于等距时间戳:
bars = 12
df = pd.concat([f.shift(bars - 1), pd.rolling_max(f, bars), pd.rolling_min(f, bars), f],
axis=1)
df.columns = ['Open', 'High', 'Low', 'Close']
>>> df.tail()
Open High Low Close
2016-03-03 19:20:49.336236 102.510446 103.603518 102.438872 102.810945
2016-03-03 19:20:54.336236 102.916919 103.603518 102.438872 103.072880
2016-03-03 19:20:59.336236 103.603518 103.603518 102.438872 103.290665
2016-03-03 19:21:04.336236 102.966331 103.290665 102.438872 103.095781
2016-03-03 19:21:09.336236 102.438872 103.409546 102.438872 103.409546
你能提供一些样本数据吗?完成。如果你需要我进一步澄清,我可以。问题是重采样会删除行。我想保留所有数据,只需在过去60年代的数据中的每一行执行“ohlc”操作。滚动最小值和滚动最大值应切换固定在上面。谢谢
bars = 12
df = pd.concat([f.shift(bars - 1), pd.rolling_max(f, bars), pd.rolling_min(f, bars), f],
axis=1)
df.columns = ['Open', 'High', 'Low', 'Close']
>>> df.tail()
Open High Low Close
2016-03-03 19:20:49.336236 102.510446 103.603518 102.438872 102.810945
2016-03-03 19:20:54.336236 102.916919 103.603518 102.438872 103.072880
2016-03-03 19:20:59.336236 103.603518 103.603518 102.438872 103.290665
2016-03-03 19:21:04.336236 102.966331 103.290665 102.438872 103.095781
2016-03-03 19:21:09.336236 102.438872 103.409546 102.438872 103.409546