Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melaksanakan Operasi Kesatuan Berbilang Array dengan Cekap dengan `logical_or` NumPy?

Bagaimana untuk Melaksanakan Operasi Kesatuan Berbilang Array dengan Cekap dengan `logical_or` NumPy?

Barbara Streisand
Lepaskan: 2024-12-07 15:15:14
asal
316 orang telah melayarinya

How to Efficiently Perform Multi-Array Union Operations with NumPy's `logical_or`?

Numpy logical_or for Multi-Array Union Operations

Numpy's logical_or function beroperasi pada pasangan tatasusunan, membawa kepada persoalan bagaimana untuk menggabungkan dengan cekap pelbagai tatasusunan untuk operasi kesatuan (begitu juga untuk logical_and and persimpangan).

Walaupun logik_atau sendiri hanya menerima dua hujah, ia boleh dirantai bersama:

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)
# result: [ True,  True,  True,  False]
Salin selepas log masuk

Pendekatan yang lebih umum melibatkan penggunaan reduce:

result = np.logical_or.reduce((x, y, z))
# result: [ True,  True,  True,  False]
Salin selepas log masuk

Ini kaedah boleh digunakan pada tatasusunan berbilang dimensi dan tuple tatasusunan 1D. Selain itu, functools.reduce Python boleh digunakan dalam cara yang sama:

result = functools.reduce(np.logical_or, (x, y, z))
# result: [ True,  True,  True,  False]
Salin selepas log masuk

Untuk kemudahan, Numpy menyediakan sebarang, yang pada asasnya melakukan pengurangan ATAU logik sepanjang paksi:

result = np.any((x, y, z), axis=0)
# result: [ True,  True,  True,  False]
Salin selepas log masuk

Serupa prinsip digunakan untuk logical_and dan operator logik lain, kecuali untuk logical_xor, yang tidak mempunyai semua/sebarang jenis yang sepadan fungsi.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Operasi Kesatuan Berbilang Array dengan Cekap dengan `logical_or` 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