Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memasukkan Nilai Baris Sebelumnya ke dalam Pengiraan \'apply\' Panda dengan Nilai Terbitan?
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
Untuk mengira Lajur C, kita mulakan dengan menyalin nilai D ke baris pertama:
df.loc[0, 'C'] = df.loc[0, 'D']
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>
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
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!