Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Nilai Baris Berjujukan dalam Pandas DataFrame Menggunakan Apply dan Shifting?
Panda Memohon Pengiraan Nilai Baris Berjujukan dalam Bingkai Data
Apabila bekerja dengan bingkai data Pandas, anda mungkin menghadapi situasi di mana anda perlu menggunakan nilai baris sebelumnya dalam pengiraan. Walau bagaimanapun, ini boleh menimbulkan cabaran, terutamanya apabila nilai sebelumnya juga dikira dalam fungsi penggunaan yang sama.
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
Kami ingin mencipta lajur baharu, C , di mana:
Menggunakan fungsi guna dan anjakan dengan keadaan if-else mungkin tidak berfungsi kerana ralat utama. Sebaliknya, kita boleh mengikuti langkah berikut:
Langkah 1: Mulakan Nilai Terbitan
Pertama, kita tetapkan nilai C untuk baris pertama supaya sama dengan D:
df.loc[0, 'C'] = df.loc[0, 'D']
Langkah 2: Lelaran dan Kira
Seterusnya, kita melelang melalui baris yang tinggal dan mengira C menggunakan nilai C baris sebelumnya:
for i in range(1, len(df)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']
Keputusan:
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 3 2015-02-03 10 100 3000 250
Atas ialah kandungan terperinci Bagaimana untuk Mengira Nilai Baris Berjujukan dalam Pandas DataFrame Menggunakan Apply dan Shifting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!