NumPy empty()函数的工作原理及示例

669 阅读5分钟

NumPy Empty

NumPy空的介绍

在Python中,NumPy模块用于处理数组,并在不初始化数组的任何条目的情况下创建一个新的数组,这意味着数组中的对象将被初始化为给定形状和类型的 "无",这种数组的创建是通过一个被称为empty()的函数来完成的,其默认数据类型为float,需要用户手动设定数组的值。在Python中,NumPy模块还提供了另一个被称为numpy.zeros()的函数来创建一个新的空,正如numpy.empty()函数所做的那样。

NumPy empty()函数的工作原理及示例

在这篇文章中,我们将讨论NumPy函数 empty()。Numpy主要用于处理多维数组或阵列,为了处理这个问题,NumPy模块在Python中提供了许多不同的函数。在这篇文章中,我们将详细介绍empty()函数,该函数用于创建一个带有未初始化值的新数组,该数组没有给定形状和数据类型的值。这个函数不仅可以创建一个一维数组,还可以创建一个多维数组,其中的行和列都需要用户手动设置,否则NumPy数组对象将返回一些垃圾值,因此,与其他初始化数组的函数相比,它的速度更快,为零或一。

NumPy Empty的语法

现在让我们来看看numpy.empty()函数的语法和例子。

语法:

numpy.empty(shape, dtype, order)

参数:

  • shape: 这个参数需要用来定义数组的形状,可以是int或者int的tuples。
  • dtype: 该参数是一个可选的参数,用于定义创建空数组的数据类型,默认情况下,其值被设置为float。
  • order: 这个参数是一个可选的参数,用来排列或排序多维数组的行和列,如果要按行排列,那么值被设置为 "C"(C-风格),如果我们想按列排列,那么我们必须设置为 "F"(Fortran风格),默认情况下,这个值被设置为C。

该函数返回一个新的空数组,该数组的条目或数据没有被初始化,但数组对象被初始化为无,并有定义或给定的形状和数据类型参数。

NumPy Empty的例子

现在让我们在下面的简单例子中演示这个函数。

代码。

import numpy as np
print("Program to demonstrate empty function with various ways")
print("\n")
arr1 = np.empty(4, dtype = int)
print("The array with garbage value is as follows")
print(arr1)
print("\n")
arr2 = np.empty([4, 2], dtype = int)
print("The multi-dimensional array with garbage value is as follows")
print(arr2)
print("\n")
arr3 = np.empty([2,2])
print("The array with having only shape parameter")
print(arr3)
print("\n")
arr4 = np.empty([3,2], order = 'C')
print("The multi-dimensional array with parameter order in row wise")
print(arr4)
print("\n")
arr5 = np.empty([3,2], order = 'F')
print("The multi-dimensional array with parameter order in column wise")
print(arr5)

输出:

NumPy Empty output

在上面的程序中,我们可以看到;首先,我们导入了一个NumPy模块,然后我们为numpy写了一个别名,命名为 "np",可以用于empty()函数的工作,使用不同的参数创建一个新的空数组,首先我们只是创建一个数据类型为 "int "的一维数组,该一维数组的元素数被声明为4,所以它打印出一个包含4个元素的int值但为垃圾的数组。然后我们要创建二维数组,这将再次创建一个数据类型为int的4行2列的矩阵。同样的,我们创建了一个只有一个形状参数的数组,在输出中我们可以看到它的值是0,分配给它。最后,我们可以看到我们已经声明了一个带有 shape 和 order 参数的 empty() 函数,其值为 "C",这将显示多维数组的 3 行和 2 列,如上面的屏幕截图所示。然后我们也看到了如何使用上面截图中的 "F "指定的顺序以列为单位显示多维数组,作为NumPy上述各种方式的输出。 empty()函数用不同的参数以不同的方式显示。

在Python中,在NumPy模块中,也有类似的另一个函数作为empty()函数,如zeros()函数,它也是用于创建一个空数组,但它可以初始化为0,而不是像使用empty()函数时初始化的垃圾值。这是Python中NumPy模块的empty()和zero()函数之间的细微差别之一(分别用zero()和empty()函数初始化零和垃圾值)。这两个函数有类似的语法,但是在zero函数中,零的初始化没有在empty()函数中完成,因为它显示的是垃圾值,因为它有未初始化的值的条目。因此,它可能更快,而且通常需要用户手动设置数值。尽管如此,在numpy.empty()函数中手动设置数值而不是垃圾值时,我们还是要小心。

总结

在这篇文章中,我们得出结论,Python可以定义一个空数组或多维数组;它使用一个NumPy模块,该模块提供了一个使用numpy.empty()函数创建空数组的函数,该函数将不初始化数组中的任何条目,给定的形状和数据类型如int和float是该函数的默认值。在这篇文章中,我们还看到了empty()函数的语法与参数的详细介绍。此外,在这篇文章中,我们还看到了一个简单的例子,我们写了一个程序来演示所有使用的参数。最后,本文还看到了zeros()和 empty()函数之间的区别。