
- 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 - 求和
什麼是求和?
在數學中,求和是將兩個或多個數字加在一起的結果。例如,2 和 3 的和是 5。
它通常用加號 (+) 表示。求和也可以包括對數字序列進行求和,通常使用希臘字母 sigma (Σ) 來表示該運算。
NumPy 的 sum() 函式
NumPy 中的 sum() 函式計算沿指定軸的陣列元素的和,提供靈活地在行、列或整個陣列上進行求和。
以下是 NumPy 中 sum() 函式的基本語法:
numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)
其中:
- a: 包含要相加元素的輸入陣列。
- axis: 要沿其求和的軸。如果為 None,則對陣列的所有元素求和。對於多維陣列,您可以指定一個軸(0 代表行,1 代表列,等等)。
- dtype: 用於求和的資料型別。如果未指定,則預設為陣列的資料型別。
- out: 將結果儲存到的位置。如果提供,則其形狀和型別必須與輸入陣列相同。
- keepdims: 如果為 True,則將約簡的軸保留在結果中,作為大小為一的維度。這對於廣播很有用。
求一維陣列所有元素的和
如果您有一個一維陣列,可以使用 numpy.sum() 函式計算其所有元素的和。以下是一個例子:
import numpy as np # Define a 1D array arr = np.array([1, 2, 3, 4, 5]) # Calculate the sum of all elements total_sum = np.sum(arr) print("Total sum of the array:", total_sum)
以下是獲得的輸出:
Total sum of the array: 15
在二維陣列中沿特定軸求和
在二維陣列中,您可以沿特定軸計算和。例如,沿行或列求和:
import numpy as np # Define a 2D array arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Sum along rows (axis=1) sum_rows = np.sum(arr_2d, axis=1) # Sum along columns (axis=0) sum_columns = np.sum(arr_2d, axis=0) print("Sum along rows:", sum_rows) print("Sum along columns:", sum_columns)
以下是獲得的輸出:
Sum along rows: [ 6 15 24] Sum along columns: [12 15 18]
使用指定的資料型別求和
您還可以指定要計算和的資料型別。這在處理大數字或需要特定精度(例如 float64)的結果時尤其有用。這是一個例子:
import numpy as np # Define an array of integers arr_int = np.array([10, 20, 30]) # Calculate the sum with a specified data type (float64) sum_float = np.sum(arr_int, dtype=np.float64) print("Sum with dtype float64:", sum_float)
以下是獲得的輸出:
Sum with dtype float64: 60.0
使用“keepdims”引數求和
keepdims 引數有助於在求和運算後保留原始陣列的維數。如果設定為 True,則結果將與輸入陣列具有相同的維數,但求和軸的大小將減小為一。
import numpy as np # Define a 2D array arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Sum along columns while keeping dimensions sum_keepdims = np.sum(arr_2d, axis=0, keepdims=True) print("Sum with keepdims=True:", sum_keepdims)
以下是獲得的輸出:
Sum with keepdims=True: [[12 15 18]]
NumPy 求和的應用
numpy.sum() 函式在科學計算、資料分析和機器學習中具有廣泛的應用。一些常見的用例包括:
- 對矩陣中的行或列求和:在資料科學中,您經常需要沿特定軸計算和,以彙總表或矩陣中的資料。
- 計算陣列中的總值:對陣列中的元素求和可以幫助進行財務分析、統計和科學計算,例如計算測量的總和或數量。
- 資料聚合:在分析資料時,對值求和可以是聚合操作的一部分,例如查詢總銷售額或計算某些資料點的累積和。
- 特徵縮放:在機器學習中,特徵的總和通常用於資料標準化或縮放,以調整特徵的範圍。
最佳化求和計算
NumPy 針對快速的陣列運算進行了最佳化,numpy.sum() 函式效率很高。但是,有一些方法可以進一步最佳化您的求和計算:
- 使用 out 引數:如果您想將和的結果儲存在預先存在的陣列中,可以使用 out 引數,這避免了建立新陣列並有助於節省記憶體。
- 明智地使用 axis:僅在必要時指定軸。預設情況下,對整個陣列求和是最快的操作,但是根據資料,沿特定軸求和可能會慢一些。
廣告