Bagaimana untuk Memasukkan Nilai Baris Sebelumnya ke dalam Pengiraan \'apply\' Panda dengan Nilai Terbitan?

Mary-Kate Olsen
Lepaskan: 2024-10-27 10:23:30
asal
387 orang telah melayarinya

How to Incorporate Previous Row Values into Pandas 'apply' Calculations with Derived Values?

Menggunakan Panda untuk Menggabungkan Nilai Baris Terdahulu dalam 'menggunakan' Pengiraan dengan Nilai Terbitan

Apabila bekerja dengan bingkai data dalam Panda, ia selalunya diperlukan untuk melakukan pengiraan yang melibatkan penggunaan nilai baris sebelumnya. Ini boleh mencabar apabila nilai sebelumnya juga dikira dalam fungsi 'guna'.

Pertimbangkan rangka data berikut:

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
Salin selepas log masuk

Untuk mengira Lajur C, kita mulakan dengan menyalin nilai D ke baris pertama:

df.loc[0, 'C'] = df.loc[0, 'D']
Salin selepas log masuk

Sekarang, untuk baris berikutnya, kita boleh lelaran melalui kerangka data dan menggunakan gelung untuk mengisi nilai yang dikira untuk Lajur C:

<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>
Salin selepas log masuk

Gelung ini memastikan bahawa nilai C untuk setiap baris ditentukan oleh nilai sebelumnya, serta nilai A dan B yang sepadan. Bingkai data yang terhasil akan kelihatan seperti ini:

  Index_Date   A   B    C    D
0 2015-01-31  10  10   10   10
1 2015-02-01   2   3   23   22
2 2015-02-02  10  60  290  280
Salin selepas log masuk

Dengan mengikuti ini pendekatan, anda boleh menggabungkan nilai baris sebelumnya dengan berkesan ke dalam pengiraan 'gunakan', walaupun apabila nilai sebelumnya diperoleh daripada fungsi 'guna' yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nilai Baris Sebelumnya ke dalam Pengiraan \'apply\' Panda dengan Nilai Terbitan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan