
- NumPy 教程
- NumPy - 首頁
- NumPy - 簡介
- NumPy - 環境配置
- NumPy 陣列
- NumPy - Ndarray 物件
- NumPy - 資料型別
- NumPy 陣列的建立和操作
- NumPy - 陣列建立例程
- NumPy - 陣列操作
- NumPy - 從現有資料建立陣列
- NumPy - 從數值範圍建立陣列
- NumPy - 陣列迭代
- NumPy - 陣列重塑
- NumPy - 陣列拼接
- NumPy - 陣列堆疊
- NumPy - 陣列分割
- NumPy - 陣列扁平化
- NumPy - 陣列轉置
- NumPy 索引和切片
- NumPy - 索引和切片
- NumPy - 高階索引
- NumPy 陣列屬性和操作
- NumPy - 陣列屬性
- NumPy - 陣列形狀
- NumPy - 陣列大小
- NumPy - 陣列步長
- NumPy - 陣列元素大小
- NumPy - 廣播
- NumPy - 算術運算
- NumPy - 陣列加法
- NumPy - 陣列減法
- NumPy - 陣列乘法
- NumPy - 陣列除法
- NumPy 高階陣列操作
- NumPy - 交換陣列軸
- NumPy - 位元組交換
- NumPy - 副本和檢視
- NumPy - 元素級陣列比較
- NumPy - 陣列過濾
- NumPy - 陣列連線
- NumPy - 排序、搜尋和計數函式
- NumPy - 陣列搜尋
- NumPy - 陣列並集
- NumPy - 查詢唯一行
- NumPy - 建立日期時間陣列
- NumPy - 二元運算子
- NumPy - 字串函式
- NumPy - 數學函式
- NumPy - 統計函式
- NumPy - 矩陣庫
- NumPy - 線性代數
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 繪製直方圖
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高階操作
- NumPy - 陣列排序
- NumPy - 沿軸排序
- NumPy - 使用花式索引排序
- NumPy - 結構化陣列
- NumPy - 建立結構化陣列
- NumPy - 操作結構化陣列
- NumPy - 欄位訪問
- NumPy - 記錄陣列
- Numpy - 載入陣列
- Numpy - 儲存陣列
- NumPy - 向陣列追加值
- NumPy - 交換陣列列
- NumPy - 向陣列插入軸
- NumPy 處理缺失資料
- NumPy - 處理缺失資料
- NumPy - 識別缺失值
- NumPy - 刪除缺失資料
- NumPy - 缺失資料插補
- NumPy 效能最佳化
- NumPy - 使用陣列進行效能最佳化
- NumPy - 使用陣列進行向量化
- NumPy - 陣列的記憶體佈局
- Numpy 線性代數
- NumPy - 線性代數
- NumPy - 矩陣庫
- NumPy - 矩陣加法
- NumPy - 矩陣減法
- NumPy - 矩陣乘法
- NumPy - 元素級矩陣運算
- NumPy - 點積
- NumPy - 矩陣求逆
- NumPy - 行列式計算
- NumPy - 特徵值
- NumPy - 特徵向量
- NumPy - 奇異值分解
- NumPy - 求解線性方程組
- NumPy - 矩陣範數
- NumPy 元素級矩陣運算
- NumPy - 求和
- NumPy - 求平均值
- NumPy - 求中位數
- NumPy - 求最小值
- NumPy - 求最大值
- NumPy 集合運算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 並集
- NumPy - 差集
- NumPy 有用資源
- NumPy 編譯器
- NumPy - 快速指南
- NumPy - 有用資源
- NumPy - 討論
NumPy - 元素級陣列比較
NumPy 中的元素級比較
NumPy 中的元素級比較允許您將一個數組的每個元素與另一個數組的對應元素或標量值進行比較。
比較操作貫穿整個陣列,結果是一個形狀相同的新的布林陣列(True 或 False),指示比較的結果。
基本的元素級比較運算
NumPy 支援多種可以逐元素執行的基本比較運算。這些包括:
- 相等 (==):檢查兩個陣列(或一個數組和一個標量)中的元素是否相等。
- 不相等 (!=):檢查元素是否不相等。
- 大於 (>):檢查第一個陣列中的元素是否大於第二個陣列或標量的對應元素。
- 小於 (<):檢查第一個陣列中的元素是否小於第二個陣列或標量的對應元素。
- 大於等於 (>=):檢查元素是否大於或等於第二個陣列或標量的對應元素。
- 小於等於 (<=):檢查元素是否小於或等於第二個陣列或標量的對應元素。
示例
在下面的示例中,每個比較操作都在“array1”和“array2”的對應元素之間執行:
import numpy as np # Creating two arrays for comparison array1 = np.array([10, 20, 30, 40, 50]) array2 = np.array([15, 20, 25, 40, 55]) # Performing element-wise comparisons equality = array1 == array2 inequality = array1 != array2 greater_than = array1 > array2 less_than = array1 < array2 greater_equal = array1 >= array2 less_equal = array1 <= array2 # Displaying the results print("Equality:", equality) print("Inequality:", inequality) print("Greater than:", greater_than) print("Less than:", less_than) print("Greater than or equal to:", greater_equal) print("Less than or equal to:", less_equal)
結果是一個布林陣列,指示每個比較的結果,如下所示:
Equality: [False True False True False] Inequality: [ True False True False True] Greater than: [False False True False False] Less than: [ True False False False True] Greater than or equal to: [False True True True False] Less than or equal to: [ True True False True True]
與標量的元素級比較
您還可以將整個陣列與單個標量值進行比較。標量值與陣列的每個元素進行比較,結果是一個形狀相同的布林陣列。
示例
在這個示例中,"array1" 的每個元素都與 "30" 進行比較,結果指示每個元素是否大於 "30":
import numpy as np # Creating two arrays for comparison array1 = np.array([10, 20, 30, 40, 50]) # Comparing array elements with a scalar value scalar_value = 30 comparison_result = array1 > scalar_value print("Array elements greater than 30:", comparison_result)
這將產生以下結果:
Array elements greater than 30: [False False False True True]
連結多個比較
NumPy 中連結多個比較涉及使用邏輯運算子組合多個比較運算。例如,您可能需要檢查陣列的元素是否落在特定範圍內,或者是否滿足多個條件。
這些運算按順序計算,結果是一個布林陣列,其中每個元素都指示組合條件是否滿足。
在 NumPy 中,您可以使用邏輯運算子,如&(與)、|(或)和~(非)來連結比較。連結比較時,請確保每個比較運算都用括號括起來,以保持正確的運算順序。以下是連結比較的通用語法:
(condition1) & (condition2) & ... & (conditionN)
示例:連結比較
在下面的示例中,我們檢查陣列的元素是否在特定範圍內,以及是否滿足其他條件:
import numpy as np # Creating an array array = np.array([5, 10, 15, 20, 25, 30]) # Chaining multiple comparisons result = (array > 10) & (array < 25) & (array % 5 == 0) # Displaying the results print("Array:", array) print("Result of Chained Comparisons:", result)
以下是上述程式碼的輸出:
Array: [ 5 10 15 20 25 30] Result of Chained Comparisons: [False False True True False False]
示例:與標量值的連結
在這裡,比較檢查陣列的每個元素是否在 "3" 和 "7" 之間(包括 "3" 和 "7"):
import numpy as np # Creating an array array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) # Chaining comparisons with scalar values result = (array >= 3) & (array <= 7) # Displaying the results print("Array:", array) print("Result of Chained Comparisons with Scalar:", result)
獲得的輸出如下所示:
Array: [1 2 3 4 5 6 7 8 9] Result of Chained Comparisons with Scalar: [False False True True True True True False False]
使用 where() 函式進行條件選擇
np.where() 函式使用元素級比較的結果從兩個陣列(或值)中選擇性地選擇元素。這對於根據條件過濾或替換元素特別有用。
示例
在這個示例中,大於 "25" 的 "array1" 元素被保留,而所有其他元素被替換為 "0":
import numpy as np # Creating an array array1 = np.array([10, 20, 30, 40, 50]) # Using np.where to replace elements based on a condition replaced_array = np.where(array1 > 25, array1, 0) print("Replaced array:", replaced_array)
執行上述程式碼後,我們將獲得以下輸出:
Replaced array: [ 0 0 30 40 50]
使用比較查詢最大和最小元素
元素級比較可以與np.maximum()和np.minimum()等函式結合使用,以查詢兩個陣列之間的最大值或最小值。
示例
在這個示例中,我們使用 np.maximum() 函式和 np.minimum() 函式來比較 "array1" 和 "array2" 的元素,分別返回最大值和最小值的陣列:
import numpy as np # Creating an array array1 = np.array([10, 20, 30, 40, 50]) array2 = np.array([15, 20, 25, 40, 55]) # Finding maximum and minimum values between two arrays max_array = np.maximum(array1, array2) min_array = np.minimum(array1, array2) print("Maximum values:", max_array) print("Minimum values:", min_array)
產生的結果如下:
Maximum values: [15 20 30 40 55] Minimum values: [10 20 25 40 50]