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
Lepaskan: 2024-11-27 17:52:11
asal
680 orang telah melayarinya

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)
Salin selepas log masuk

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))
Salin selepas log masuk

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)
Salin selepas log masuk

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))
Salin selepas log masuk

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)
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan