Rumah > pembangunan bahagian belakang > Tutorial Python > 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
Lepaskan: 2024-10-19 13:02:02
asal
489 orang telah melayarinya

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

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

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!

sumber:php
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