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