
- 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 陣列具有固定大小,並且不支援像傳統列表那樣的就地修改。
向一維陣列追加值
向 NumPy 中的一維陣列追加值涉及將新元素新增到現有的一維陣列的末尾。由於 NumPy 陣列具有固定大小,因此此操作會建立一個新陣列,其中包含原始元素以及新追加的值。為此,我們可以在 NumPy 中使用np.append()函式。以下是語法:
numpy.append(arr, values, axis=None)
其中,
- arr:將向其追加值的原始陣列。
- values:要追加的值。可以是單個值或陣列。
- axis:追加值的軸。對於一維陣列,此引數被忽略,可以為 None。
示例
在以下示例中,我們使用 np.append() 向一維陣列新增元素:首先追加單個值,然後追加多個值:
import numpy as np # Create an initial 1D array arr = np.array([1, 2, 3]) # Append a single value arr_appended_single = np.append(arr, 4) # Append multiple values arr_appended_multiple = np.append(arr, [4, 5, 6]) print("Array after appending a single value:", arr_appended_single) print("Array after appending multiple values:", arr_appended_multiple)
獲得以下輸出:
Array after appending a single value: [1 2 3 4] Array after appending multiple values: [1 2 3 4 5 6]
向二維陣列追加值
向 NumPy 中的二維陣列追加值涉及向現有的二維陣列新增行或列。由於 NumPy 陣列具有固定大小,因此追加值會導致建立一個新陣列,該陣列將原始資料與新資料組合在一起。讓我們探索用於向二維陣列追加值的各種方法。
追加二維行
要向二維陣列追加行,我們可以使用np.vstack()函式。此函式垂直堆疊陣列或沿軸 0 連線。以下是語法:
numpy.vstack(tup)
其中,tup是要垂直堆疊的陣列序列。所有陣列都必須具有相同的列數。
示例
在此示例中,我們使用 np.vstack() 函式向二維陣列追加行,在現有行的下方新增新行:
import numpy as np # Create an initial 2D array arr = np.array([[1, 2], [3, 4]]) # Create an array of rows to append rows_to_append = np.array([[5, 6], [7, 8]]) # Append rows to the initial array arr_appended_rows = np.vstack((arr, rows_to_append)) print("Array after appending rows:") print(arr_appended_rows)
結果是一個新陣列,其中附加的行堆疊在底部:
Array after appending rows: [[1 2] [3 4] [5 6] [7 8]]
追加二維列
要向二維陣列追加列,我們可以使用np.hstack()函式。此函式水平堆疊陣列或沿軸 1 連線。以下是語法:
numpy.hstack(tup)
其中,tup是要水平堆疊的陣列序列。所有陣列都必須具有相同的行數。
示例
在下面的示例中,我們使用 np.hstack() 函式向二維陣列追加列,在現有列的右側新增新列:
import numpy as np # Create an initial 2D array arr = np.array([[1, 2], [3, 4]]) # Create an array of columns to append columns_to_append = np.array([[5], [6]]) # Append columns to the initial array arr_appended_columns = np.hstack((arr, columns_to_append)) print("Array after appending columns:") print(arr_appended_columns)
結果是一個新陣列,其中附加的列放置在原始資料的旁邊:
Array after appending columns: [[1 2 5] [3 4 6]]
追加到多維陣列
向 NumPy 中的多維陣列追加涉及沿指定軸新增新元素。與一維和二維陣列不同,多維陣列(例如 3D 或更高)需要仔細對齊要沿其追加資料的維度和軸。
示例
在以下示例中,我們使用 np.append() 函式沿第一個軸向 3D 陣列新增值:
import numpy as np # Original 3D array arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # Values to append (must match dimensions) values = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]]) # Append values along axis 0 result = np.append(arr, values, axis=0) print(result)
生成的陣列將新值作為附加層追加到原始陣列的頂部:
[[[ 1 2] [ 3 4]] [[ 5 6] [ 7 8]] [[ 9 10] [11 12]] [[13 14] [15 16]]]
使用不同資料型別追加
使用 NumPy 中的不同資料型別追加陣列需要小心處理,因為 NumPy 陣列是同質的;它們必須包含相同資料型別的元素。
當追加具有不同資料型別的陣列時,NumPy 通常會執行型別強制或建立一個具有通用資料型別的新陣列,該陣列可以包含所有追加的資料。
示例
在此示例中,我們使用 np.append() 向整數陣列新增浮點值:
import numpy as np # Original array of integers arr = np.array([1, 2, 3]) # Values to append (floating-point) values = np.array([4.5, 5.5]) # Append values result = np.append(arr, values) print(result)
執行上述程式碼後,我們得到以下輸出:
[1. 2. 3. 4.5 5.5]
使用 np.concatenate() 函式追加
我們可以使用 np.concatenate() 函式沿指定軸組合陣列。它對於將資料追加到現有陣列特別有用。以下是語法:
numpy.concatenate((a1, a2, ...), axis=0)
其中,
- a1、a2、...:要連線的陣列。它們必須具有相同的形狀,除了與 axis 引數對應的維度。
- axis:要沿其連線陣列的軸。0 是 1D 陣列的預設值,其他值用於多維陣列。
示例
在以下示例中,我們使用 np.concatenate() 函式沿軸“0”連線兩個 2D 陣列:
import numpy as np # Arrays to concatenate arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6], [7, 8]]) # Concatenate along axis 0 result = np.concatenate((arr1, arr2), axis=0) print(result)
產生的結果如下:
[[1 2] [3 4] [5 6] [7 8]]