Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?

Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?

Patricia Arquette
Lepaskan: 2024-12-02 18:41:18
asal
997 orang telah melayarinya

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

Fungsi logical_or Numpy dengan Pelbagai Argumen

Fungsi logical_or Numpy direka untuk membandingkan dua tatasusunan dan mengembalikan tatasusunan dengan nilai True atau False bergantung pada hasil perbandingan. Walau bagaimanapun, fungsi ini hanya boleh mengendalikan maksimum dua argumen. Untuk mencari gabungan lebih daripada dua tatasusunan menggunakan logical_or, kami mempunyai beberapa pilihan:

Chaining logical_or Calls

Satu pendekatan ialah merantai berbilang logical_or calls. Contohnya:

x = np.array([True, True, False, False])
y = np.array([True, False, True, False])
z = np.array([False, False, False, False])
result = np.logical_or(np.logical_or(x, y), z)

print(result)
Salin selepas log masuk

Output:

[ True  True  True False]
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini berfungsi dengan menggabungkan tatasusunan secara berurutan dan melaksanakan logik_atau padanya satu demi satu.

Menggunakan kurangkan

Cara yang lebih ringkas untuk menggabungkan berbilang logik_atau panggilan ialah menggunakan fungsi pengurangan NumPy:

result = np.logical_or.reduce((x, y, z))

print(result)
Salin selepas log masuk

Output:

[ True  True  True False]
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

reduce menggunakan operasi tertentu (dalam kes ini, logical_or) pada jujukan tatasusunan yang diberikan.

Python's reduce

Sebagai alternatif, Python juga menyediakan fungsi reduce yang boleh digunakan:

from functools import reduce

result = reduce(np.logical_or, (x, y, z))

print(result)
Salin selepas log masuk

Output:

[ True  True  True False]
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Python's reduce kurang biasa digunakan dalam kes sedemikian, kerana selalunya terdapat alternatif yang lebih mudah.

Menggunakan mana-mana

Sebarang fungsi NumPy juga boleh digunakan untuk mencari penyatuan berbilang tatasusunan, walaupun ia memerlukan hujah paksi eksplisit untuk menentukan dimensi sepanjang untuk melaksanakan operasi:

result = np.any((x, y, z), axis=0)

print(result)
Salin selepas log masuk

Output:

[ True  True  True False]
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

sebarang mengembalikan tatasusunan dengan nilai Betul atau Palsu, yang menunjukkan sama ada sebarang elemen di sepanjang paksi yang ditentukan adalah Benar.

Begitu juga, logik_dan dan fungsi logik lain beroperasi dengan cara yang sama, membenarkan rantaian, pengurangan dan sebarang operasi untuk menggabungkan lebih daripada dua argumen.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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