Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Melaksanakan Operasi Logik ATAU/AND pada Tatasusunan NumPy Berbilang?

Bagaimanakah Saya Boleh Melaksanakan Operasi Logik ATAU/AND pada Tatasusunan NumPy Berbilang?

DDD
DDDasal
2024-11-27 17:52:11636semak imbas

How Can I Perform Logical OR/AND Operations on Multiple NumPy Arrays?

Menggunakan Operasi Logik Numpy pada Berbilang Tatasusunan

Dalam Numpy, logical_or hanya boleh membandingkan dua tatasusunan. Ini menimbulkan persoalan: bagaimana untuk mencari kesatuan lebih daripada dua tatasusunan? Soalan yang sama digunakan untuk logik_dan dan mendapatkan persilangan berbilang tatasusunan.

Penghadan Fungsi Logik Numpy

Numpy secara eksplisit mengehadkan logik_atau kepada dua argumen: x1 dan x2.

Merangkai Logik Operasi

Berbilang panggilan ke logik_atau boleh dirantai:

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)

hasil: [ Betul, Betul, Betul, Salah]

Menggeneralisasikan Rantaian Menggunakan Numpy's Reduce

Untuk menyamaratakan perkara ini chaining, NumPy menyediakan fungsi pengurangan:

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

hasil: [ True, True, True, False]

Pendekatan ini juga berfungsi dengan tatasusunan berbilang dimensi:

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

hasil: [ Benar, Benar, Benar, False]

Python's Reduce

Python's functools.reduce juga boleh digunakan:

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

hasil: [ True, True, True, False ]

Numpy's Any Fungsi

Mana-mana fungsi Numpy juga boleh digunakan, tetapi memerlukan hujah paksi eksplisit:

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

hasil: [ True, True, True, False]

Logik DAN (logik_dan) dan Lain-lain Operasi

Kaedah serupa digunakan pada operasi logik lain, termasuk logik_dan. Sebagai contoh, logical_xor tidak mempunyai persamaan dengan semua atau mana-mana.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Operasi Logik ATAU/AND pada Tatasusunan NumPy Berbilang?. 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