使用基于其他行的线性回归值在 pandas 中添加行

add rows in pandas with values from a linear regression based on other rows

我有一个包含两列 Date_of_journeyPrice 的数据框。 Date_of_journey 列采用 1 到 119 之间的值,但它只有 37 行。所以很多日期都不见了。

有没有一种简单的方法可以添加价格介于上一行和下一行之间的日期?

这是一个数据图,可以让您了解一下。我想添加一行 Date_of_journey=45,价格符合灰色曲线。

您可以使用 RangeIndex()pd.DataFrame 重新采样到新范围,并使用 pd.interpolate(method='linear') 在已知值之间进行插值。有了更多数据,您将得到与您的相似的图。

import pandas as pd
import io

data = """Date_of_Journey   Price
1   24089.333333
3   14873.397727
6   14035.232877
9   13178.641509
15  5785.500000"""

df = pd.read_csv(io.StringIO(data), delimiter='\t', index_col='Date_of_Journey')
df = df.reindex(pd.RangeIndex(start=1, stop=119,step=1))
df.interpolate(method='linear', inplace=True)

df.plot(y='Price')

输出: