Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Melakukan logical_or NumPy pada Lebih Daripada Dua Tatasusunan?

Bagaimana untuk Melakukan logical_or NumPy pada Lebih Daripada Dua Tatasusunan?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 15:34:10726semak imbas

How to Perform NumPy's logical_or on More Than Two Arrays?

Numpy logical_or for More than Two Arguments

Fungsi logical_or Numpy hanya boleh membandingkan dua tatasusunan pada satu masa. Untuk mencari gabungan lebih daripada dua tatasusunan, anda mempunyai beberapa pilihan.

Merangkai logical_atau Panggilan

Anda boleh merantai berbilang logical_atau panggilan bersama-sama, tetapi ini boleh menyusahkan. Contohnya:

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

Menggunakan reduce

NumPy menyediakan fungsi pengurangan yang boleh menyamaratakan operasi rantaian. Contohnya:

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

Ini akan mengembalikan tatasusunan di mana setiap elemen ialah gabungan elemen yang sepadan dalam tatasusunan input.

Menggunakan functools Python.reduce

Fungsi python.reduce juga boleh digunakan untuk ini tujuan:

functools.reduce(np.logical_or, (x, y, z))

Walau bagaimanapun, pengurangan NumPy secara amnya lebih cekap.

Menggunakan np.any

NumPy's np.any fungsi juga boleh digunakan untuk mencari kesatuan. Walau bagaimanapun, ia mesti digunakan dengan hujah paksi:

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

Ini akan mengembalikan tatasusunan di mana setiap elemen adalah gabungan elemen yang sepadan dalam tatasusunan input di sepanjang paksi yang ditentukan.

Nota: Teknik ini juga digunakan pada fungsi logik_dan Numpy untuk mencari persilangan lebih daripada dua tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan logical_or NumPy pada Lebih Daripada Dua Tatasusunan?. 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