numpy.append() 函数用于在 NumPy 数组 的末尾追加新的值,并返回一个新的数组。它不会修改原数组,而是返回一个新的副本。在处理大型数组时,频繁使用 numpy.append() 可能会导致性能问题。建议使用 numpy.concatenate() 进行高效拼接。本文主要介绍一下NumPy中append方法的使用。

numpy.append

numpy.append(arr, values, axis=None)       [source]

将值附加到数组的末尾。

参数 :

arr :array_like

值被附加到这个数组的副本中。

values :array_like

这些值将附加到arr的副本中。

 它必须具有正确的形状

(与arr相同的形状,但不包括轴)。

 如果未指定轴,则值可以是任何形状,

并且在使用前将被平。

axisint, 可选

沿其附加值的轴。如果没有指定轴,

值可以是任何形状,

并将在使用前扁平化。

返回值 :

appendndarray

arr的副本,值附加到axis。

注意,append不会就地发生,

将分配并填充一个新数组。

如果axis为None,则out是一个扁平数组。

例子

1)一维数组追加元素

import numpy as np

arr = np.array([1, 2, 3])
new_arr = np.append(arr, 4)  # 追加一个元素

print(new_arr)

2)一维数组追加多个元素

import numpy as np

arr = np.array([1, 2, 3])
# 追加多个元素
new_arr = np.append(arr, [4, 5, 6])  

print(new_arr)

3)二维数组追加元素

默认 axis=None,展平成一维。

import numpy as np

arr = np.array([[1, 2], [3, 4]])
new_arr = np.append(arr, [5, 6])

print(new_arr)

4)在 axis=0(行方向)上追加

import numpy as np

arr = np.array([[1, 2], [3, 4]])
# 在行方向追加
new_arr = np.append(arr, [[5, 6]], axis=0)  

print(new_arr)

5)在 axis=1(列方向)上追加

import numpy as np

arr = np.array([[1, 2], [3, 4]])
# 在列方向追加
new_arr = np.append(arr, [[5], [6]], axis=1)  

print(new_arr)

6)numpy.append()numpy.concatenate()

numpy.append()适用于小规模追加每次都会创建新数组,性能较低。

numpy.concatenate()适用于拼接多个数组比 append 更高效,要求数据维度匹配。

import numpy as np

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

# 使用 append
new_arr = np.append(arr1, arr2)
print(new_arr)  # [1 2 3 4 5 6]

# 使用 concatenate(推荐)
new_arr2 = np.concatenate((arr1, arr2))
print(new_arr2)  # [1 2 3 4 5 6]

推荐文档

相关文档

大家感兴趣的内容

随机列表