- 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]]