Dalam Pandas DataFrame, menggabungkan data daripada berbilang baris untuk set lajur tertentu boleh menjadi tugas biasa. Dalam artikel ini, kami akan menangani pertanyaan mengira jumlah lajur tertentu dalam baris DataFrame.
Pendekatan dan Ralat Awal:
Seseorang mungkin cuba menggunakan kod berikut untuk mencapai jumlah lajur 'a', 'b,' dan 'd':
df['e'] = df[['a', 'b', 'd']].map(sum)
Walau bagaimanapun, pendekatan ini gagal kerana kehadiran data bukan angka dalam lajur 'c'.
Operasi Betul:
Untuk mengambil kira data bukan angka dan menjumlahkan dengan tepat lajur yang dikehendaki, kami mengubah suai kod sebagai berikut:
df['e'] = df.sum(axis=1, numeric_only=True)
Penjelasan:
Fungsi jumlah dipanggil dengan paksi=1 untuk menjumlahkan baris dan bukannya lajur. Selain itu, numeric_only=True memastikan bahawa hanya lajur berangka dipertimbangkan dalam pengiraan, tidak termasuk lajur bukan angka seperti 'c'.
Jumlah Lajur Khusus:
Kepada jumlahkan hanya subset lajur, buat senarai lajur yang dikehendaki dan kecualikan lajur yang anda tidak lakukan perlukan:
col_list.remove('d') df['e'] = df[col_list].sum(axis=1)
Operasi ini akan menjumlahkan lajur 'a,' 'b,' dan 'c', menyimpan hasil dalam lajur 'e'.
Atas ialah kandungan terperinci Bagaimana Menjumlahkan Lajur Khusus dalam Bingkai Data Pandas Semasa Mengendalikan Data Bukan Berangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!