举例说明Numpy数组追加

391 阅读4分钟

NumPy是Python编程中用来进行科学计算的一个Python库/模块。本课将教你如何对NumPy数组执行各种操作。NumPy有一个多维数组对象,以及像屏蔽数组和屏蔽多维数组的派生数组。Python中的numpy append()方法是用来将两个数组连接在一起。这个函数创建一个新的数组,同时不影响原数组。

其语法是numpy.append(arr, values, axis=None)。arr "参数在这里可以是一个类似数组的对象,或者是一个numpy数组。这个数组的一个副本被添加到value中。数值是添加到 "arr "组件最末端的数组类对象。轴决定了数值被附加到哪个轴上。如果没有指定轴,两个数组都会被压扁。

我们可以利用NumPy模块提供的 "ndarray "对象来对任何维度的数组执行操作。ndarray是一个N维数组,其中N可以是任何数字。因此,NumPy数组可以有任何大小。与Python列表相比,NumPy有很多优势。NumPy数组可以用来进行高性能的操作,如对数组成员进行排序,数学和逻辑操作,输入/输出函数,以及统计和线性代数计算。在这篇文章中,我们将看看如何使用append()、concatenate()和insert()函数来向numpy数组中添加或追加一个元素。让我们开始吧。

例1

在这个例子中,我们将使用append向numpy数组中添加一个元素。Python中的Numpy模块有一个叫做numpy.append()的函数,允许你向numpy数组中添加一个元素。add()函数可以接受一个numpy数组和一个单值作为参数。它返回一个带有所提供的值的传入数组的副本,而不是修改现有数组。考虑下面的代码作为一个例子。在导入numpy后,我们创建了一个整数numpy数组。然后利用numpy.append()函数,将一个元素附加到numpy数组的最末端。最后,我们将原始数组和更新的数组都打印出来。

import numpy as np
myarr = np.array([22, 3, 4, 7, 1])
n_arr = np.append(myarr, 5)
print('Newly Created Array is: ', n_arr)
print('Original Array is: ', myarr)

你可以在后面的截图中看到新的和原来的数组。append()函数复制了数组,然后在返回前将数字5附加到数组的末端。

例2

我们将使用concatenate方法将元素添加到NumPy数组中。Numpy.concatenate()是Python NumPy模块中的一个方法,可以连接两个或多个数组。这使得我们可以将一个元素添加到NumPy数组中。然而,我们必须将单项封装在一个序列数据结构中,比如一个列表,并给concatenate()函数提供一个数组和列表的元组。例如,看一下这段代码。

正如你在第三行代码中所看到的,你可以在NumPy数组的末端追加一个元素。它创建了一个新的数组,其条目来自数组加列表序列。它并没有改变原来的数组,而是返回了一个新的数组,其中包含了原来NumPy数组的所有内容,并在最后追加了一个单一的值。

import numpy as np
myarr = np.array([22, 3, 4, 7, 1])
n_arr = np.concatenate( (myarr, [5] ) )
print('Newly Created Array is: ', n_arr)
print('Original Array is: ', myarr)

附件中的截图显示了原始数组和新创建的数组。

例3

NumPy中的insert()方法也可以插入一个元素或列。insert()方法和append()方法的区别在于,insert()函数允许我们指定要添加元素的索引,而append()方法则是在数组的末端添加一个值。考虑一下下面的情况。在这里你可以看到,insert()函数被调用时有三个参数:一个NumPy数组,一个索引点,以及一个要添加的值。它生成了一个myarr的副本,其中加入了指定索引位置的值。我们选择了数组的大小作为索引位置,因为我们希望在数组的末端添加元素。结果,该值被追加到数组的末端。值得注意的是,它并没有改变原来的数组;相反,它返回了一个myarr的副本,并在指定的索引处添加了所提供的值,即在数组的末端。

import numpy as np
myarr = np.array([22, 3, 4, 7, 1])
n_arr = np.insert(myarr, 1, 90)
print('Newly Created Array is: ', n_arr)
print('Original Array is: ', myarr)

这里你可以看到新创建的数组和原始数组。

结论

NumPy数组是一个非负整数的元组,索引所有相同类型的元素的网格。数组的等级是维数;形状是一个代表数组大小和维度的数字元组。在这篇文章中,我们介绍了将单个元素追加到NumPy数组末端的三种不同方法。使用NumPy数组是很简单的,正如我们所展示的那样。当使用大多数机器学习框架时,NumPy数组很重要。因此,NumPy可能被认为是人工智能的门户。