Bagaimana untuk Menggunakan NumPy \'where\' dengan Pelbagai Syarat untuk Operasi Bersyarat?

Linda Hamilton
Lepaskan: 2024-10-19 12:59:02
asal
466 orang telah melayarinya

How to Use NumPy

Menggunakan NumPy "where" dengan Pelbagai Syarat

Apabila bekerja dengan tugasan manipulasi data, selalunya perlu menggunakan syarat yang berbeza untuk memilih atau mengubah suai nilai tertentu. Fungsi "where" NumPy ialah alat yang berkuasa untuk operasi bersyarat, tetapi secara lalai, ia hanya mengendalikan dua syarat.

Pertimbangkan kes di mana anda ingin menambah lajur baharu, "energy_class," pada DataFrame panda yang dipanggil "df_energy." Kelas tenaga hendaklah ditetapkan berdasarkan syarat berikut:

  • nilai "tenaga_penggunaan" lebih daripada 400: "tinggi"
  • nilai "tenaga_penggunaan" antara 200 dan 400: "sederhana"
  • Nilai "consumption_energy" kurang daripada atau sama dengan 200: "low"

Memandangkan fungsi "where" NumPy tidak menyokong berbilang keadaan, penyelesaiannya terletak pada penggunaannya yang lebih berkuasa adik, "pilih." Begini cara untuk mendekati masalah ini:

import numpy as np

# Assuming df_energy has a column called "consumption_energy"
col = 'consumption_energy'
conditions = [ df_energy[col] >= 400,
             (df_energy[col] < 400) & (df_energy[col] > 200),
             df_energy[col] <= 200 ]
choices = [ "high", 'medium', 'low' ]

# Create the "energy_class" column using np.select
df_energy["energy_class"] = np.select(conditions, choices, default=np.nan)
Salin selepas log masuk

Penggunaan lanjutan "pilih" ini membolehkan anda mentakrifkan berbilang keadaan dan memetakan pilihan yang sepadan dengan output. Secara lalai, ia memberikan "np.nan" jika tiada satu pun syarat dipenuhi.

Akibatnya, DataFrame anda kini akan mempunyai lajur "energy_class" diisi dengan label yang sesuai berdasarkan syarat yang anda tentukan, memberikan klasifikasi yang jelas bagi tahap penggunaan tenaga.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan NumPy \'where\' dengan Pelbagai Syarat untuk Operasi Bersyarat?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!