ホームページ >バックエンド開発 >Python チュートリアル >適用とシフトを使用して Pandas DataFrame の連続する行の値を計算する方法
Pandas はデータフレーム内の順次行値の計算を適用します
Pandas データフレームを使用する場合、値を使用する必要がある状況が発生することがあります。計算の前の行の。ただし、これは、特に前の値も同じ適用関数内で計算される場合に問題が発生する可能性があります。
次のデータフレームを考えてみましょう:
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 を作成したいと考えています。
if-else 条件を伴う適用関数とシフトの使用は、キー エラーが原因で機能しない可能性があります。代わりに、次の手順に従うことができます:
ステップ 1: 派生値を初期化する
まず、最初の行の C 値を D:
df.loc[0, 'C'] = df.loc[0, 'D']
ステップ 2: 反復と計算
次に、残りの行を反復し、前の行の C 値を使用して C を計算します。for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']
結果:
以上が適用とシフトを使用して Pandas DataFrame の連続する行の値を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。