Python 重新采样OHLC蜱虫数据并填补大熊猫的空白

Python 重新采样OHLC蜱虫数据并填补大熊猫的空白,python,pandas,time-series,resampling,Python,Pandas,Time Series,Resampling,我在此表格中有一些勾号数据: date price amount 2011-09-13 13:53:36 5.80 1.0000 2011-09-13 13:53:44 5.83 3.0000 2011-09-13 14:32:53 5.90 2.0000 我对价格进行了重新取样,包括: resampledData.price.resample('55min', how="ohlc") 现在我需要填写缺失的数据,唯一的方法是

我在此表格中有一些勾号数据:

date                 price    amount
2011-09-13 13:53:36  5.80     1.0000
2011-09-13 13:53:44  5.83     3.0000
2011-09-13 14:32:53  5.90     2.0000
我对价格进行了重新取样,包括:

resampledData.price.resample('55min', how="ohlc")
现在我需要填写缺失的数据,唯一的方法是:

closes = resampledData.close
closes = closes.fillna(method='pad')
resampledData = resampledData.open.fillna(closes)
resampledData = resampledData.high.fillna(closes)
resampledData = resampledData.lowe.fillna(closes)
resampledData = resampledData.close.fillna(closes)
但这看起来很糟糕,有没有更有效的方法


另外,是否有一种方法可以同时对两列进行重新采样?与使用“ohlc”的价格和使用“sum”方法填写NAN的金额一样,您可以将其应用于一行中的所有列,如下所示:

closes = resampledData['close'].fillna(method='pad')
resampledData.apply(lambda x: x.fillna(closes))
对于DataFrame(),您还有一个
fillna
方法,但这会将一个系列视为不同的输入值,用于不同的列

对于重采样,通常可以执行以下操作,一次在多个列上使用不同的函数进行重采样:

resampledData.resample('55min', how={'price':'ohlc', 'amount':'sum'})

但对我来说,这似乎不适用于
ohlc
(如果您将其更改为例如“mean”,则它确实有效)。

谢谢。事实上,“ohlc”不能马上工作,但是如果我用第一种方法建立一个字典(也就是说,ohlc_dict也是这样做的),然后它就可以工作了。顺便提一下,只有一个问题。使用这种方法,我最终得到了两个主列(价格、金额),在每个列中(开盘、高低、价格收盘和金额总和)。访问它们的方式是什么?我正在使用resampledata.amount.sum,但当我尝试重新采样数据['amount.sum']时,它不起作用。然后,您有一个多索引(或分层)列,可以像这样访问它:
resampledata[('amount','sum')]
请参见此处