Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencipta Lajur Baharu Berdasarkan Syarat dalam Lajur Sedia Ada Menggunakan Python?

Bagaimana untuk Mencipta Lajur Baharu Berdasarkan Syarat dalam Lajur Sedia Ada Menggunakan Python?

Barbara Streisand
Lepaskan: 2024-12-30 05:18:21
asal
644 orang telah melayarinya

How to Create a New Column Based on Conditions in an Existing Column Using Python?

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)
Salin selepas log masuk

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')
Salin selepas log masuk

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)
Salin selepas log masuk

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')
Salin selepas log masuk

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!

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