Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggunakan NumPy \"where\" dengan Pelbagai Syarat?

Bagaimana untuk Menggunakan NumPy \"where\" dengan Pelbagai Syarat?

Susan Sarandon
Susan Sarandonasal
2024-10-19 12:59:29620semak imbas

How to Use NumPy

Numpy "di mana" dengan Pelbagai Syarat

Dalam konteks analisis data, selalunya perlu untuk mentakrifkan syarat tersuai dan menetapkan dengan sewajarnya berbeza nilai berdasarkan syarat tersebut. Fungsi "di mana" Numpy boleh digunakan untuk mengendalikan senario sedemikian. Walau bagaimanapun, cabaran timbul apabila berhadapan dengan berbilang keadaan.

Kes tertentu cuba menambah lajur "energy_class" baharu pada bingkai data "df_energy." Nilai "energy_class" diberikan berdasarkan syarat berikut:

  • "high" jika nilai "consumption_energy" lebih besar daripada 400
  • "medium" jika nilai "consumption_energy" adalah antara 200 dan 400
  • "rendah" jika nilai "tenaga_penggunaan" kurang daripada 200

Isu yang dihadapi ialah fungsi np.where biasanya hanya menyokong dua syarat.

Untuk menangani perkara ini, fungsi "pilih" numpy boleh digunakan. Berikut ialah contoh:

<code class="python">col         = 'consumption_energy'
conditions  = [ df2[col] >= 400, (df2[col] < 400) & (df2[col]> 200), df2[col] <= 200 ]
choices     = [ "high", 'medium', 'low' ]
    
df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>

Coretan kod ini menggunakan "np.select" untuk menilai berbilang syarat dan menetapkan nilai daripada senarai "pilihan" yang sepadan. Parameter "lalai" digunakan untuk mengendalikan sebarang kes yang tidak memenuhi syarat yang ditetapkan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan NumPy \"where\" dengan Pelbagai 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