python 如何把np数组中追加数组

python 如何把np数组中追加数组

作者:Elara发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Python中向NumPy数组添加新的元素?

我有一个NumPy数组,想在它的末尾添加新的元素,该怎么实现?

A

使用np.append函数向NumPy数组添加元素

可以使用NumPy的np.append函数来向数组末尾添加元素。语法是np.append(arr, values),其中arr是原数组,values是你想添加的新元素或者新数组。这个方法会返回一个新的数组,原数组不变。例如:

import numpy as np
arr = np.array([1, 2, 3])
new_arr = np.append(arr, [4, 5]) # new_arr为[1 2 3 4 5]

Q
能否在不改变原数组的情况下,将两个NumPy数组合并?

我想把一个数组追加到另一个数组,但不影响原有数组。有什么方法做到吗?

A

使用np.concatenate函数合并数组,原数组保持不变

NumPy的np.concatenate函数可以将多个数组合并成一个新数组,不改变原数组。语法是np.concatenate((arr1, arr2), axis=None),其中传入一个数组元组。默认会展平然后拼接,也可以通过axis参数指定拼接的维度。例如:

import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5])
new_arr = np.concatenate((arr1, arr2)) # new_arr为[1 2 3 4 5]

Q
在NumPy中追加多维数组时,如何指定拼接的轴?

当我有两个多维数组想要合并,怎样控制它们是水平还是垂直合并?

A

用np.concatenate时通过axis参数控制数组拼接方向

np.concatenate函数通过设置axis参数来指定拼接沿着哪个维度进行。比如,两个二维数组通过axis=0可以垂直拼接(增加行数),通过axis=1可以水平拼接(增加列数)。示例:

import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])

垂直拼接,增加行数

over_arr = np.concatenate((arr1, arr2), axis=0) # 3行2列

水平拼接,增加列数

hor_arr = np.concatenate((arr1, arr2.T), axis=1) # 2行3列