Numpy "di mana" dengan Pelbagai Syarat: Menangani Tiga Syarat
Penerangan Masalah:
Menambah lajur baharu pada bingkai data berdasarkan berbilang keadaan menjadi mencabar apabila menghadapi lebih daripada dua syarat. Senario yang diberikan memerlukan penciptaan lajur "energy_class" dengan nilai "high", "medium", atau "low" berdasarkan nilai lajur "consumption_energy".
Penyelesaian:
Walaupun numpy.where hanya boleh mengendalikan dua syarat, penyelesaian yang bijak menggunakan numpy.select menyelesaikan isu tersebut.
Kod Python:
<code class="python"># Define column and conditions col = 'consumption_energy' conditions = [df2[col] >= 400, (df2[col] < 400) & (df2[col] > 200), df2[col] <= 200] # Define choices for conditions choices = ["high", 'medium', 'low'] # Add "energy_class" column with np.select df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>
Contoh Output:
consumption_energy energy_class 0 459 high 1 416 high 2 186 low 3 250 medium 4 411 high 5 210 medium 6 343 medium 7 328 medium 8 208 medium 9 223 medium
Nota Tambahan:
default=np.nan memberikan nilai NaN kepada baris yang tidak memenuhi sebarang syarat . Anda boleh menyesuaikan ini untuk memenuhi keperluan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Lajur pada DataFrame Menggunakan Numpy \'where\' dengan Lebih Daripada Dua Syarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!