私は計算を行うためにデータフレーム行がある状況があり、これらの計算を行うには次の(潜在的に先行する)行に値を使用する必要があります実際のデータセットに基づいて予測)。以前のdf.apply
コールから各行を取得するので、下流のオブジェクトにdf全体を渡すことができましたが、それは分析のオブジェクトの複雑さに基づいて理想的ではありません。他の行の値を使用してパンダのデータフレーム行に関数を適用する
私は1つの密接に関連した質問と答え[1]を見つけましたが、問題は実際に私の計算にdf全体を必要としないという意味では基本的に異なります。大きなdfs)。
ので、例えば:
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]
を使用する必要があります。 row.name
を使用してdf.apply
コールの内の行のインデックスを取得することにより、
[1] apply a function to a pandas Dataframe whose returned value is based on other rows
に
concat
を割り当てる場合は、パフォーマンス上の利点一つの方法または他のがあると思うし、どのような状況下でますか? – lukewitmer@lukewitmerいいえ、私は '%% timeit'を実行しました。あなたのワットは5倍以上速くなりました。私はそれがもっとエレガントだから私の方法が好きです。しかし、私はあなたの道を行くでしょう。その理由は、その直感的で迅速なことです。 – piRSquared