Mencipta Lajur Baharu Berdasarkan Nilai daripada Berbilang Lajur dalam Panda
Dalam Panda, adalah mungkin untuk mencipta lajur baharu berdasarkan nilai yang terdapat dalam berbilang lajur lain. Fungsi ini berguna apabila menggunakan logik kompleks atau fungsi tersuai untuk memperoleh cerapan bermakna daripada data.
Sebagai contoh ilustrasi, pertimbangkan tugas untuk mencipta lajur baharu berlabel "label_bangsa" berdasarkan nilai dalam enam lajur etnik : ERI_Hispanic, ERI_AmerInd_AKNatv, ERI_Asian, ERI_Black_Afr.Amer, ERI_HI_PacIsl dan ERI_White. Keperluan adalah untuk mengklasifikasikan individu berdasarkan kaum mereka menggunakan kriteria berikut:
Penyelesaian
Untuk mencapai ini, kedua-dua fungsi tersuai dan fungsi Pandas apply() adalah bekerja.
Tentukan Fungsi Tersuai:
def label_race(row): if row['eri_hispanic'] == 1: return 'Hispanic' if row['eri_afr_amer'] + row['eri_asian'] + row['eri_hawaiian'] + row['eri_nat_amer'] + row['eri_white'] > 1: return 'Two Or More' if row['eri_nat_amer'] == 1: return 'A/I AK Native' if row['eri_asian'] == 1: return 'Asian' if row['eri_afr_amer'] == 1: return 'Black/AA' if row['eri_hawaiian'] == 1: return 'Haw/Pac Isl.' if row['eri_white'] == 1: return 'White' return 'Other'
Gunakan Fungsi Tersuai Menggunakan Panda:
df['race_label'] = df.apply(label_race, axis=1)
Ini akan mencipta lajur yang dipanggil "label_bangsa" dalam bingkai data Pandas, yang mengandungi klasifikasi yang sesuai untuk setiap baris berdasarkan kriteria input.
Dengan menggabungkan fungsi tersuai dan fungsi Pandas apply(), kami boleh mencipta lajur baharu yang diperolehi daripada logik kompleks yang digunakan merentas berbilang lajur, memudahkan analisis dan tafsiran data yang cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Lajur Klasifikasi Perlumbaan Baharu dalam Panda Berdasarkan Lajur Berbilang Etnik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!