
- 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 squeeze() 函式
Numpy 的squeeze()函式用於從陣列的形狀中刪除一維條目。
此函式用於消除大小為 1 的維度,這可以簡化陣列操作。例如,如果我們有一個形狀為 (1, 3, 1, 5) 的陣列,透過應用squeeze() 將將其轉換為形狀為 (3, 5) 的陣列,方法是刪除單例維度。
此函式採用可選的axis引數來指定要刪除的維度,但如果未提供,則會刪除所有單例維度。
結果是一個具有較少維度但資料相同的新陣列。
語法
Numpy squeeze()函式的語法如下:
numpy.squeeze(a, axis=None)
引數
以下是 Numpy squeeze()函式的引數:
- a(array_like): 這是輸入資料,應為陣列或類陣列物件。
- axis(None 或 int 或 int 元組,可選): 此引數選擇形狀中單維條目的子集。如果指定了軸,則只會壓縮該軸或這些軸。如果未指定軸,則會刪除所有單維條目。如果指定的軸的大小不為 1,則會引發錯誤。
返回值
此函式返回輸入陣列,但刪除了所有或一部分大小為 1 的維度。這不會修改原始陣列,而是返回一個新陣列。
示例 2
以下是使用 Numpy squeeze()函式的示例。在此示例中,形狀為 (1, 3, 1) 的陣列 'a' 被壓縮以刪除所有單維條目,從而得到形狀為 (3,) 的陣列:
import numpy as np # Original array with shape (1, 3, 1) a = np.array([[[1], [2], [3]]]) print("Original array shape:", a.shape) # Squeezed array squeezed_a = np.squeeze(a) print("Squeezed array shape:", squeezed_a.shape) print("Squeezed array:", squeezed_a)
輸出
Original array shape: (1, 3, 1) Squeezed array shape: (3,) Squeezed array: [1 2 3]
示例 2
在此示例中,我們嘗試壓縮一個非單維軸,即軸 1,這會導致 ValueError,因為軸 1 的大小為 3:
import numpy as np # Original array with shape (1, 3, 1) a = np.array([[[1], [2], [3]]]) print("Original array shape:", a.shape) try: # Attempting to squeeze a non-single-dimensional axis squeezed_a = np.squeeze(a, axis=1) except ValueError as e: print("Error:", e)
輸出
Original array shape: (1, 3, 1) Error: cannot select an axis to squeeze out which has size not equal to one
示例 3
以下示例展示瞭如何使用numpy.squeeze()從陣列的形狀中刪除一維條目:
import numpy as np # Creating a 3D array with shape (1, 3, 3) x = np.arange(9).reshape(1, 3, 3) print('Array X:') print(x) print('\n') # Removing single-dimensional entries from the shape of x y = np.squeeze(x) print('Array Y:') print(y) print('\n') # Printing the shapes of the arrays print('The shapes of X and Y array:') print(x.shape, y.shape)
輸出
Array X: [[[0 1 2] [3 4 5] [6 7 8]]] Array Y: [[0 1 2] [3 4 5] [6 7 8]] The shapes of X and Y array: (1, 3, 3) (3, 3)
numpy_array_manipulation.htm
廣告