Membuat Lajur Baharu dengan Nilai Berdasarkan Lajur Sedia Ada
Dalam senario analisis data tertentu, anda mungkin perlu mencipta lajur baharu di mana nilai dipilih berdasarkan keadaan tertentu dalam lajur sedia ada. Ini boleh dicapai menggunakan pelbagai kaedah dalam Python, bergantung pada bilangan syarat untuk diperiksa.
Senario Dua Pilihan dengan np.where
Jika anda hanya mempunyai dua pilihan untuk dipilih, fungsi numpy np.where boleh digunakan dengan cekap. Ia mengambil bentuk berikut:
df['new_column'] = np.where(condition, value_if_true, value_if_false)
di mana 'df' ialah kerangka data, 'keadaan' ialah ungkapan boolean yang mentakrifkan syarat, 'value_if_true' ialah nilai yang akan diberikan jika syarat itu Benar, dan 'value_if_false' ialah nilai yang akan diberikan jika syaratnya False.
Contohnya, untuk mencipta lajur 'warna' dalam bingkai data yang disediakan dengan 'warna' adalah 'hijau' jika 'Set' ialah 'Z' dan 'merah' sebaliknya, anda boleh menggunakan:
df['color'] = np.where(df['Set']=='Z', 'green', 'red')
Berbilang Syarat dengan np .select
Jika anda mempunyai lebih daripada dua syarat untuk diperiksa, fungsi numpy np.select boleh digunakan. Ia membolehkan logik bersyarat yang lebih kompleks. Formatnya adalah seperti berikut:
df['new_column'] = np.select(conditions, choices, default=None)
di mana 'syarat' ialah senarai ungkapan boolean, 'pilihan' ialah senarai nilai yang sepadan dengan setiap syarat dan 'lalai' ialah nilai yang akan diberikan jika tiada satu pun syarat dipenuhi.
Sebagai contoh, jika 'warna' hendak ditetapkan sebagai 'kuning' apabila ('Set' == 'Z') & ('Jenis' == 'A'), 'biru' apabila ('Set' == 'Z') & ('Jenis' == 'B'), dan 'ungu' apabila hanya (' Taip' == 'B'), dan 'hitam' jika tidak, anda boleh menggunakan:
conditions = [ (df['Set'] == 'Z') & (df['Type'] == 'A'), (df['Set'] == 'Z') & (df['Type'] == 'B'), (df['Type'] == 'B')] choices = ['yellow', 'blue', 'purple'] df['color'] = np.select(conditions, choices, default='black')
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Lajur Baharu Berdasarkan Syarat dalam Lajur Sedia Ada Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!