我正在从交易时间序列的数据框中创建重新采样的分钟数据,并获得“打开”,“低”,“高”,“关闭”列。
dfOHLCV = pd.DataFrame()
dfOHLCV = df.price.resample('T').ohlc()
我的问题在于填写“ nan”。如果在给定的分钟间隔内没有交易,则该值变为“ nan”。 可以通过申请来填补Nans
.fillna(method='ffill') # which replaces nan by the value in the previous period
但是,nan单元格中的开盘价不应从其前期的开盘价中得出,而应从其闭口单元中得出。
示例:
index | open | high | low | close
00001 | 3200 | 3250 | 3190| 3240
00002 | nan | nan | nan | nan
.fillna将填充
00002 | 3200 | 3250 | 3190| 3240
但是我想这样填写:
00002 | 3240 | 3240 | 3240| 3240
换句话说,我想用上期的收盘价来填充nan单元。该怎么办?
答案 0 :(得分:0)
通过fillna
和dict
进行检查
df=df.fillna(dict.fromkeys(df.columns.tolist(),df.close.ffill()))
df
open high low close
index
1 3200.0 3250.0 3190.0 3240.0
2 3240.0 3240.0 3240.0 3240.0