ホームページ >バックエンド開発 >Python チュートリアル >「apply()」関数を使用してパンダの前の行の値に基づいて列を計算する方法
Pandas での前の行の値を使用した計算の適用
Pandas では、データ操作中に前の行の値を計算に組み込むという課題が発生します。珍しい。このようなシナリオの 1 つは、apply() 関数を使用して新しい列を計算するときに前の行の値を使用する必要があることを伴います。
次の構造を持つ DataFrame があるシナリオを考えてみましょう:
Index_Date A B C D ================================ 2015-01-31 10 10 Nan 10 2015-02-01 2 3 Nan 22 2015-02-02 10 60 Nan 280 2015-02-03 10 100 Nan 250
私たちの目標は、「C」列に計算値を入力することです。最初の行では、「C」は「D」から派生します。後続の行の「C」は、前の行の「C」値と現在の行の「A」値を乗算し、「B」値を加算することによって計算されます。
Approach
これを実現するには、apply() 関数内で初期化と反復を組み合わせて使用します。
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
<code class="python">for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i - 1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']</code>
結果
このアプローチでは、「C」列に必要な計算値が効果的に入力されます:
Index_Date A B C D ================================ 2015-01-31 10 10 10 10 2015-02-01 2 3 23 22 2015-02-02 10 60 290 280 2015-02-03 10 100 3000 250
以上が「apply()」関数を使用してパンダの前の行の値に基づいて列を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。