Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?

Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 18:41:181030semak imbas

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

Fungsi logical_or Numpy dengan Pelbagai Argumen

Fungsi logical_or Numpy direka untuk membandingkan dua tatasusunan dan mengembalikan tatasusunan dengan nilai True atau False bergantung pada hasil perbandingan. Walau bagaimanapun, fungsi ini hanya boleh mengendalikan maksimum dua argumen. Untuk mencari gabungan lebih daripada dua tatasusunan menggunakan logical_or, kami mempunyai beberapa pilihan:

Chaining logical_or Calls

Satu pendekatan ialah merantai berbilang logical_or calls. Contohnya:

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)

print(result)

Output:

[ True  True  True False]

Kaedah ini berfungsi dengan menggabungkan tatasusunan secara berurutan dan melaksanakan logik_atau padanya satu demi satu.

Menggunakan kurangkan

Cara yang lebih ringkas untuk menggabungkan berbilang logik_atau panggilan ialah menggunakan fungsi pengurangan NumPy:

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

print(result)

Output:

[ True  True  True False]

reduce menggunakan operasi tertentu (dalam kes ini, logical_or) pada jujukan tatasusunan yang diberikan.

Python's reduce

Sebagai alternatif, Python juga menyediakan fungsi reduce yang boleh digunakan:

from functools import reduce

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

print(result)

Output:

[ True  True  True False]

Python's reduce kurang biasa digunakan dalam kes sedemikian, kerana selalunya terdapat alternatif yang lebih mudah.

Menggunakan mana-mana

Sebarang fungsi NumPy juga boleh digunakan untuk mencari penyatuan berbilang tatasusunan, walaupun ia memerlukan hujah paksi eksplisit untuk menentukan dimensi sepanjang untuk melaksanakan operasi:

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

print(result)

Output:

[ True  True  True False]

sebarang mengembalikan tatasusunan dengan nilai Betul atau Palsu, yang menunjukkan sama ada sebarang elemen di sepanjang paksi yang ditentukan adalah Benar.

Begitu juga, logik_dan dan fungsi logik lain beroperasi dengan cara yang sama, membenarkan rantaian, pengurangan dan sebarang operasi untuk menggabungkan lebih daripada dua argumen.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Operasi Logik ATAU pada Lebih Daripada Dua Tatasusunan NumPy?. 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