我有一个情况,需要对数据框中的一行进行计算,并且需要使用下面(或者可能是上面)的行中的值来进行这些计算(基于真实数据集的完美预测)。我从之前的df.apply
调用中获取每一行,因此我可以将整个df传递给下游对象,但是考虑到我的分析对象的复杂性,这似乎不是最理想的选择。
我找到了一个相关的问题和答案[1],但实际上问题在本质上是不同的,因为我不需要整个 df 来进行计算,只需要下面 x
行的值(对于大型 df 可能会有影响)。
因此,例如:
df = pd.DataFrame([100, 200, 300, 400, 500, 600, 700, 800, 900, 1000],
columns=['PRICE'])
horizon = 3
在我的逐行应用(df.apply
)调用中,我需要访问以下3行(horizon
)的值。如何在我的逐行应用计算中动态地获取接下来3个数据点的天真预测?例如,对于第一行,其中PRICE
为100
,我需要使用[200, 300, 400]
作为我的计算预测。
%%timeit
,你的方法比我的快了5倍以上。我喜欢我的方式,因为我觉得它更优雅。但我会选择你的方式,因为它非常直观且更快。 - piRSquared