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
714 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!

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