Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambah Lajur pada DataFrame Menggunakan Numpy \"where\" dengan Lebih Daripada Dua Syarat?

Bagaimana untuk Menambah Lajur pada DataFrame Menggunakan Numpy \"where\" dengan Lebih Daripada Dua Syarat?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-19 13:02:02392semak imbas

How to Add a Column to a DataFrame Using Numpy

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!

Kenyataan:
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