Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta Lajur Klasifikasi Perlumbaan Baharu dalam Panda Berdasarkan Lajur Berbilang Etnik?

Bagaimana untuk Mencipta Lajur Klasifikasi Perlumbaan Baharu dalam Panda Berdasarkan Lajur Berbilang Etnik?

Linda Hamilton
Lepaskan: 2024-12-20 02:11:09
asal
242 orang telah melayarinya

How to Create a New Race Classification Column in Pandas Based on Multiple Ethnicity Columns?

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:

  1. Jika orang itu dikira sebagai Hispanik, mereka dikelaskan sebagai "Hispanik."
  2. Jika jumlah semua bendera etnik bukan Hispanik lebih besar daripada 1, ia diklasifikasikan sebagai "Dua atau Lebih."
  3. Jika orang itu dikira sebagai Orang Asli Amerika/Alaska, mereka dikelaskan sebagai "A/I AK Native."
  4. Jika orang itu dikira sebagai Asia, mereka dikelaskan sebagai "Asia."
  5. Jika orang itu dikira sebagai Kulit Hitam/Afrika Amerika, mereka dikelaskan sebagai "Hitam/AA."
  6. Jika orang itu dikira sebagai Orang Asli Hawaii/Pasifik Penduduk pulau, mereka dikelaskan sebagai "Haw/Pac Isl."
  7. Jika orang itu dikira sebagai Putih, mereka dikelaskan sebagai "Putih."

Penyelesaian

Untuk mencapai ini, kedua-dua fungsi tersuai dan fungsi Pandas apply() adalah bekerja.

  1. 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'
    Salin selepas log masuk
  2. Gunakan Fungsi Tersuai Menggunakan Panda:

    df['race_label'] = df.apply(label_race, axis=1)
    Salin selepas log masuk

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!

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