在这种情况下,我有一个dataframe行来执行计算,我需要使用后面(可能是前面)行中的值来执行这些计算(基本上是基于真实数据集的完美预测)。我从前面的一个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个数据点的朴素预测?e、 g.对于第一行,其中PRICE
是100
,我需要在计算中使用[200, 300, 400]
作为预测。
[1]apply a function to a pandas Dataframe whose returned value is based on other rows
通过使用
row.name
[1]在df.apply
调用中获取行的索引,可以生成与当前所在行相关的“forecast”数据。这实际上是一个将“forecast”放到相关行的预处理步骤,或者如果df在下游可用,它可以作为初始df.apply
调用的一部分来完成。结果如下:
它可以在您的行级计算中使用。
编辑: 如果要从结果“Forecast”中删除索引:
[1]getting the index of a row in a pandas apply function
你可能会发现这也很有用。
如果将
concat
分配给df_c
相关问题 更多 >
编程相关推荐