多維陣列的邏輯運算
## NumPy `ndarray` 的比較運算
比較運算會**逐元素**比較陣列中的資料,並回傳由 `True` 或 `False` 組成的布林陣列。常用運算子包括:
- `==`:等於
- `!=`:不等於
- `>`、`<`:大於、小於
- `>=`、`<=`:大於等於、小於等於
### 範例
```python
import numpy as np
a = np.array([1, 3, 5, 7])
result = a > 3
print(result)
```
輸出:
```python
[False False True True]
```
表示陣列中大於 `3` 的元素為 `5` 和 `7`。
---
## NumPy `ndarray` 的邏輯運算
邏輯運算可將多個布林條件組合起來,常用方式有:
- `np.logical_and()`:且
- `np.logical_or()`:或
- `np.logical_not()`:非
對布林陣列也可以使用:
- `&`:且
- `|`:或
- `~`:非
使用 `&` 或 `|` 時,每個條件通常要加上括號。
### 範例
```python
import numpy as np
a = np.array([1, 3, 5, 7])
result = (a > 2) & (a < 7)
print(result)
```
輸出:
```python
[False True True False]
```
表示只有 `3` 和 `5` 同時符合「大於 `2`」以及「小於 `7`」的條件。
> 注意:NumPy 陣列通常不能使用 Python 的 `and`、`or` 直接進行逐元素邏輯運算,應改用 `&`、`|` 或 `np.logical_and()`、`np.logical_or()`。
相關學習地圖、教學課程
Python 資料工程