Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Melaksanakan Numpy's Logical OR pada Lebih Daripada Dua Tatasusunan?

Bagaimana untuk Melaksanakan Numpy's Logical OR pada Lebih Daripada Dua Tatasusunan?

Barbara Streisand
Barbara Streisandasal
2024-11-27 19:10:11391semak imbas

How to Perform Numpy's Logical OR on More Than Two Arrays?

Numpy logical_or for More than Two Arguments

Fungsi logical_or dalam Numpy biasanya beroperasi pada dua tatasusunan sahaja. Walau bagaimanapun, jika anda perlu mengira penyatuan lebih daripada dua tatasusunan, terdapat beberapa pendekatan yang boleh anda pertimbangkan.

Menantai Operator Logik

Satu kaedah melibatkan rantaian berbilang logik_atau panggilan seperti itu:

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)  # Union of arrays
print(result)  # Output: [ True  True  True False]

Fungsi pengurangan NumPy

Pendekatan lain ialah menggunakan pengurangan fungsi:

import numpy as np

# Union using reduce
result = np.logical_or.reduce((x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]

Kaedah ini menyamaratakan pendekatan rantaian dan boleh digunakan dengan tatasusunan berbilang dimensi juga.

Pendekatan Lain

Di luar kaedah yang dinyatakan di atas, anda boleh pertimbangkan juga:

  • Python's reduce fungsi:
import functools

result = functools.reduce(np.logical_or, (x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]
  • Mana-mana fungsi NumPy dengan spesifikasi paksi:
result = np.any((x, y, z), axis=0)  # Union of arrays
print(result)  # Output: [ True  True  True False]

Nota untuk Logical_xor

Untuk operasi seperti logik eksklusif atau (logical_xor), NumPy tidak menyediakan fungsi semua/sebarang jenis.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Numpy's Logical OR 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