如何用python中的上一行或下一行填充缺少的行

如何用python中的上一行或下一行填充缺少的行,python,pandas,Python,Pandas,我有这样的样本数据 date time option_type open high low close volume 6031 9/27/2018 09:17 CE 11500 0.15 0.15 0.15 0.15 1500 6131 9/27/2018 15:19 CE 11500 0.05 0.05 0.05 0.05 1500 6132 9/27/20

我有这样的样本数据

date        time option_type   open    high     low   close  volume

6031    9/27/2018   09:17   CE  11500   0.15    0.15    0.15    0.15    1500


6131    9/27/2018   15:19   CE  11500   0.05    0.05    0.05    0.05    1500
6132    9/27/2018   15:22   CE  11500   0.05    0.05    0.05    0.05    75
6133    9/27/2018   15:24   CE  11500   0.05    0.05    0.05    0.05    225
6134    9/27/2018   15:25   CE  11500   0.05    0.05    0.05    0.05    75
6135    9/27/2018   15:26   CE  11500   0.05    0.05    0.05    0.05    600
那边少了几行。例如09:15,09:16,然后是15:20,15:21等等

我希望在15:20/15:21时使用上一行值填充缺少的行,在09:15/09:16时使用下一行可用值填充缺少的行09:17值将用于09:15/09:1615:20值将用于15:21/15:22


你能帮我一下吗。提前感谢,并感谢您的努力和时间。

我想您正在寻找这样的产品:

df['time']=df['time'].fillna(method="ffill") #to carry the values forward
df['time']=df['time'].fillna(method="bfill") #to carry the values backwards

df

步骤1:查找连续行上的时间差:

df['deltaT'] = df.time.to_series().diff().dt.seconds.div(60, fill_value=0)
上面将为您提供一个新列,说明连续行之间的差异有多少分钟

步骤2:基于新列复制行
deltaT

df.reindex(df.index.repeat(df.deltaT))
步骤3:构建逻辑以增加时间列

df['time'] = pd.to_timedelta(df['time']) + pd.to_timedelta(df['deltaT'], unit='m')
还在努力给你最后的部分


如果你觉得这很有帮助,并且可以在此基础上继续发展。太好了

您希望复制整行,但包含缺少值的时间字段除外。对吗?@RahulAgarwal,是的,没错。非常感谢你的时间。