python numpy append
1. 介绍
numpy.append(arr, values, axis=None)
函数用于在给定数组中附加值。
该函数将 values
参数中的元素追加到 arr
参数中,返回一个新的数组。可以选择指定 axis
参数以控制元素的附加方式。
arr
:要附加值的数组。values
:要附加的值或数组。axis
:指定附加方式的轴(可选),默认为None
。
通过本文,我们将详细解释 append
函数的用法,并且在每个示例中演示其输出。
2. 基础用法
首先,让我们来看一个简单的示例,了解如何使用 append
函数。
import numpy as np
# 创建一个空数组
arr = np.array([])
# 添加一个元素
new_arr = np.append(arr, 10)
print(new_arr)
输出为:
[10]
在上面的示例中,我们首先创建了一个空的 arr
数组。然后,我们使用 np.append()
函数将值 10
附加到 arr
中。
可以看到,new_arr
现在包含了 10
这个元素。
3. 附加多个元素
append
函数不仅可以用于附加单个元素,还可以用于附加多个元素。我们可以向 values
参数传递一个数组,其中包含要附加的多个元素。
下面是一个示例,演示如何使用 append
函数附加多个元素。
import numpy as np
arr = np.array([1, 2, 3])
# 附加多个元素
new_arr = np.append(arr, [4, 5, 6])
print(new_arr)
输出为:
[1 2 3 4 5 6]
在上面的示例中,我们首先创建了一个包含元素 [1, 2, 3]
的 arr
数组。然后,我们使用 np.append()
函数将另一个数组 [4, 5, 6]
附加到 arr
。
可以看到,new_arr
现在包含了 arr
和 [4, 5, 6]
中的所有元素。
4. 附加多维数组
除了附加单个元素或多个元素之外,append
函数还可以用于附加多维数组。
下面是一个示例,演示如何使用 append
函数附加一个多维数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 附加多维数组
new_arr = np.append(arr, [[7, 8, 9]], axis=0)
print(new_arr)
输出为:
[[1 2 3]
[4 5 6]
[7 8 9]]
在上述示例中,我们创建了一个包含两个行的二维数组 arr
。然后,使用 np.append()
函数将另一个二维数组 [[7, 8, 9]]
附加到 arr
的末尾。
可以看到,new_arr
现在包含了 arr
和 [[7, 8, 9]]
这个多维数组的所有行。
5. 指定轴
append
函数的 axis
参数允许我们控制元素的附加方式。axis
参数指定了在哪个轴上进行附加操作。
接下来,我们将演示如何使用 axis
参数来控制附加操作。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 在列上附加多维数组
new_arr = np.append(arr, [[7], [8]], axis=1)
print(new_arr)
输出为:
[[1 2 3 7]
[4 5 6 8]]
在上述示例中,我们创建了一个二维数组 arr
,它有两个行和三列。然后,我们使用 np.append()
函数将一个二维数组 [[7], [8]]
附加到 arr
的列上。
可以看到,new_arr
现在包含了 arr
和 [[7], [8]]
这个二维数组的所有列。
6. 注意事项
在使用 append
函数时,需要注意一些问题。
首先,numpy.append()
函数总是返回一个新的数组,并不会直接修改原始数组。所以,需要将返回的新数组赋值给一个变量,用于进一步操作。
其次,尽管 numpy.append()
函数可以在复杂的情况下提供灵活的附加操作,但它的性能可能不如直接对数组进行操作。如果只是简单地附加元素或数组,直接使用 +
运算符可能更高效。
最后,numpy.append()
函数在每次追加元素时都会生成新的数组对象,因此在追加大量元素时,可能会导致内存分配和复制的开销较大。如果需要追求更高的性能,可以考虑使用其他更适合的数组操作函数。
7. 总结
在本文中,我们详细介绍了 numpy.append()
函数的用法。我们学习了如何使用它来附加单个元素、多个元素和多维数组,以及如何使用 axis
参数控制附加操作。我们还讨论了一些注意事项和性能问题。