Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta Lajur Label Perlumbaan Baharu dalam Panda Berdasarkan Berbilang Lajur Sedia Ada?

Bagaimana untuk Mencipta Lajur Label Perlumbaan Baharu dalam Panda Berdasarkan Berbilang Lajur Sedia Ada?

Susan Sarandon
Lepaskan: 2024-12-18 20:27:10
asal
657 orang telah melayarinya

How to Create a New Race Label Column in Pandas Based on Multiple Existing Columns?

Buat Lajur Baharu Berdasarkan Nilai daripada Berbilang Lajur dalam Panda

Untuk mencipta lajur baharu dalam bingkai data Pandas berdasarkan nilai daripada berbilang lajur lain, kita boleh memanfaatkan fungsi apply(). Fungsi ini membenarkan kami menggunakan fungsi tersuai pada setiap baris bingkai data.

Dalam kes ini, kami ingin mencipta lajur baharu dengan label perlumbaan berdasarkan kriteria berikut:

Kriteria Label Perlumbaan:

  • Jika lajur ERI_Hispanic ialah 1, labelnya ialah "Hispanik."
  • Lain jika jumlah lajur ERI yang tinggal lebih besar daripada 1, labelnya ialah "Dua atau Lebih."
  • Lain jika lajur ERI_AmerInd_AKNatv ialah 1, labelnya ialah "A/I AK Native."
  • Lain jika lajur ERI_Asian ialah 1, label ialah "Asia."
  • Lain jika lajur ERI_Black_Afr.Amer ialah 1, labelnya ialah "Hitam/AA."
  • Lain jika lajur ERI_HI_PacIsl ialah 1, labelnya ialah "Haw /Pac Isl."
  • Lainnya jika lajur ERI_White ialah 1, labelnya ialah "Putih."

Fungsi Tersuai untuk Pelabelan Perlumbaan:

Untuk menentukan fungsi tersuai untuk pelabelan perlumbaan, kita boleh menggunakan kod berikut:

def label_race(row):
   if row['ERI_Hispanic'] == 1:
      return 'Hispanic'
   if row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1:
      return 'Two Or More'
   if row['ERI_AmerInd_AKNatv'] == 1:
      return 'A/I AK Native'
   if row['ERI_Asian'] == 1:
      return 'Asian'
   if row['ERI_Black_Afr.Amer'] == 1:
      return 'Black/AA'
   if row['ERI_HI_PacIsl'] == 1:
      return 'Haw/Pac Isl.'
   if row['ERI_White'] == 1:
      return 'White'
   return 'Other'
Salin selepas log masuk

Menggunakan Fungsi Tersuai dengan apply():

Untuk menggunakan fungsi label_race pada setiap baris bingkai data, kita boleh menggunakan fungsi apply() dengan argumen axis=1, yang menyatakan bahawa fungsi itu harus digunakan pada setiap baris:

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

Ini akan mencipta lajur baharu bernama race_label dalam bingkai data dengan label perlumbaan yang sesuai.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Lajur Label Perlumbaan Baharu dalam Panda Berdasarkan Berbilang Lajur Sedia Ada?. 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