
- 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 陣列的大小是指陣列中包含的元素總數。理解陣列的大小對於執行各種操作(例如重塑、廣播和迭代元素)非常重要。
在本教程中,我們將討論如何確定和操作 NumPy 陣列的大小。
檢查陣列大小
NumPy 提供了 `size` 屬性來檢查陣列中的元素數量。此屬性返回一個整數,表示元素的總數,而不管其形狀如何。無論陣列是一維還是多維,`size` 始終提供所有現有元素的數量。
瞭解陣列的大小在各種情況下都很有用,例如迭代元素、重塑陣列和最佳化記憶體使用。
示例:迭代元素
當您需要迭代陣列中的每個元素時,瞭解大小可以幫助您定義迴圈的範圍。
import numpy as np # Creating a 1D array array = np.array([1, 2, 3, 4, 5]) # Iterating using the size attribute for i in range(array.size): print(array[i])
以下是獲得的輸出:
1 2 3 4 5
示例:記憶體計算
您可以透過使用 NumPy 中的 "itemsize" 屬性將陣列的大小乘以每個元素的大小來計算陣列的記憶體消耗。
import numpy as np array = np.ones((1000, 1000), dtype=np.float64) memory_usage = array.size * array.itemsize print("Memory usage in bytes:", memory_usage)
這將產生以下結果:
Memory usage in bytes: 8000000
NumPy 陣列大小與陣列形狀
雖然 `size` 屬性給出陣列中元素的總數,但 `shape` 屬性提供陣列的維度。陣列的大小可以透過將所有維度相乘來從形狀計算出來。
示例
在此示例中,我們分別使用 NumPy 的 "shape" 和 "size" 屬性來檢索陣列的形狀和大小。
import numpy as np # Creating a 3D array array = np.zeros((2, 3, 4)) # Checking the shape and size print("Array shape:", array.shape) print("Array size:", array.size)
陣列的形狀是 (2, 3, 4),大小是 2 * 3 * 4 = 24。
Array shape: (2, 3, 4) Array size: 24
調整陣列大小
NumPy 中的 `resize()` 函式用於調整陣列大小。此函式就地更改陣列的形狀和大小,並且新形狀必須與元素總數相容。
如果新形狀大於原始形狀,則新陣列將填充原始陣列的重複副本。如果新形狀較小,則原始陣列將被截斷。
與僅更改陣列形狀而不更改其資料的 `reshape()` 函式不同,`resize()` 函式也可以更改陣列的大小,新增新元素或刪除現有元素。
示例:調整為較大陣列
在此示例中,原始陣列被調整為 "2x5" 陣列。新元素透過重複原始陣列來填充。
import numpy as np # Creating a 1D array array_1d = np.array([1, 2, 3]) # Resizing the array to a larger size resized_array = np.resize(array_1d, (2, 5)) print("Original array:\n", array_1d) print("Resized array:\n", resized_array)
執行上述程式碼後,我們將獲得以下輸出:
Original array: [1 2 3] Resized array: [[1 2 3 1 2] [3 1 2 3 1]]
示例:調整為較小陣列
在這裡,原始 "2x3" 陣列被調整為 "2x2" 陣列。多餘的元素被截斷。
import numpy as np # Creating a 2D array array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Resizing the array to a smaller size resized_array = np.resize(array_2d, (2, 2)) print("Original array:\n", array_2d) print("Resized array:\n", resized_array)
產生的結果如下:
Original array: [[1 2 3] [4 5 6]] Resized array: [[1 2] [3 4]]
示例:就地調整大小
在此示例中,原始陣列就地調整為 "2x5" 陣列。新元素填充為零。
import numpy as np # Creating a 1D array array_1d = np.array([1, 2, 3]) # In-place resizing the array to a larger size array_1d.resize((2, 5)) print("Resized array:\n", array_1d)
我們將獲得如下所示的輸出:
Resized array: [[1 2 3 0 0] [0 0 0 0 0]]
廣告