对于任何一个开发者来说,对于一个函数的理解与掌握都是非常重要的。而在Python中我们经常会使用到的一个函数就是np.zeros。在这篇文章中,我们将从不同的角度来详细阐述np.zeros函数以及其各个参数和使用方法。
一、np.zeros()
np.zeros函数是NumPy中的一个函数,它的作用就是返回一个给定形状和类型的用0填充的数组。对于使用者来说,这个函数可以使用下面的方式调用:
import numpy as np np.zeros(shape, dtype=float, order='C')
其中,np.zeros有三个参数,分别是shape,dtype和order。下面我们将详细介绍每个参数的含义和作用。
二、np.zeros中各个参数是什么意思
1. shape
在np.zeros函数中,shape参数代表了我们所创建的数组的形状。这个参数的类型必须是一个序列或者一个整数。比如,我们可以使用下面的方式创建一个形状为(2, 3)的数组:
import numpy as np a = np.zeros((2, 3)) print(a)
运行以上代码,最终的输出结果应该为:
[[0. 0. 0.] [0. 0. 0.]]
上面的代码中,我们传递了一个元组作为shape参数。这个元组包含了两个整数,用于指定数组的行数和列数。
2. dtype
在np.zeros函数中,dtype参数代表了我们创建的数组的数据类型。这个参数的类型必须是一个NumPy数据类型,比如np.int8, np.float64等等。
在默认情况下,np.zeros函数会创建一个浮点型数组。如果我们希望创建一个整型数组,我们就可以使用下面的方式:
import numpy as np a = np.zeros((2, 3), dtype=np.int8) print(a)
运行以上代码,最终的输出结果应该为:
[[0 0 0] [0 0 0]]
上面的代码中,我们使用了dtype参数来指定数组的数据类型为np.int8。
3. order
在np.zeros函数中,order参数代表了数组的内存布局顺序。这个参数的值可以是’C’或者’F’。在默认情况下,np.zeros函数会使用’C’顺序。
在’C’顺序中,多维数组的元素是按行顺序存储的。例如,我们可以使用下面的方式创建一个具有4行3列的数组:
import numpy as np a = np.zeros((4, 3), order='C') a[3, 2] = 1 print(a)
运行以上代码,最终的输出结果应该为:
[[0. 0. 0.] [0. 0. 0.] [0. 0. 0.] [0. 0. 1.]]
在上面的代码中,我们指定了order参数的值为’C’,因此使用C顺序进行存储。最后打印的结果中只会在第4行第3列的位置上显示出一个1。如果将order参数的值改为’F’,则使用Fortran顺序进行存储。
三、np.zeros参数
除了上面介绍的三个参数,np.zeros函数还支持其他的参数。下面我们将对这些参数进行详细的介绍。
1. Like参数
np.zeros函数中有一个Like参数,它的作用是创建一个和另一个数组具有相同形状和数据类型的数组。这个参数的使用方法和shape参数类似,只不过我们需要将第一个参数设置为一个已经存在的数组。例如:
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) b = np.zeros_like(a) print(b)
运行以上代码,最终的输出结果应该为:
[[0 0 0] [0 0 0]]
上面的代码中,我们使用了np.zeros_like函数来创建了一个和数组a具有相同形状和数据类型的数组。
2. Endian参数
在处理二进制数据的时候,我们需要考虑到数据的字节序问题。np.zeros函数中有一个Endian参数,它的作用是控制数组保存时采用的字节序。这个参数的值可以是”或者’=’,分别代表小端字节序、大端字节序和本机字节序。默认情况下,np.zeros函数使用本机字节序。
3. Out参数
在np.zeros函数中,Out参数可以让我们指定一个输出数组,这个数组用于保存函数计算的结果。这个参数的使用方法比较简单,例如:
import numpy as np a = np.zeros((2, 3)) b = np.zeros((2, 3)) np.zeros((2, 3), out=b) print(a) print(b)
运行以上代码,最终的输出结果应该为:
[[0. 0. 0.] [0. 0. 0.]] [[0. 0. 0.] [0. 0. 0.]]
在上面的代码中,我们使用了Out参数来指定了输出数组为b。
四、np.zeros函数含义
对于np.zeros函数,我们可以使用下面的方式来进行函数说明:
def zeros(shape, dtype=float, order='C',*, like=None, endian=None, out=None, **kwargs): """ 返回一个给定形状和类型的用0填充的数组。 Parameters: shape : int or sequence of ints 要创建的数组的形状 dtype : data-type, optional 要创建的数组的数据类型,默认为float order : {'C', 'F', 'A'}, optional 数组存储顺序。 - 'C'表示C顺序,即按行存储 - 'F'表示Fortran顺序,即按列存储 - 'A'表示打开方式,即尝试使用C顺序,然后使用Fortran顺序 like : array_like, optional 创建一个具有相同形状和数据类型的数组 endian : {'', '='}, optional 大小端字节序控制。 - ''表示大端字节序 - '='表示本机字节序 out : ndarray, optional 结果数组,如果指定了该参数,则原数组的值将被修改 Returns: ------- out : ndarray 用0填充的数组 """
五、np.zeros函数什么意思
从上面的介绍中,我们可以看出,np.zeros函数是一个非常常用的函数。它的作用就是创建一个给定形状和类型的全0数组。
六、np.zeros四维数组
在np.zeros函数中,我们不仅可以创建二维数组或者三维数组,还可以用这个函数来创建四维数组。下面的代码就是一个创建四维数组的例子:
import numpy as np a = np.zeros((2, 3, 4, 5)) print(a)
运行以上代码,最终的输出结果应该是一个形状为(2, 3, 4, 5)的四维数组,数组中的所有元素都是0。
七、np.zeros(5)的结果是
对于np.zeros(5)这个函数调用,它的作用是创建一个长度为5的一维数组,并将所有元素设置为0。以下代码展示了一个示例:
import numpy as np a = np.zeros(5) print(a)
运行以上代码,最终的输出结果应该是一个形状为(5,)的一维数组,数组中的所有元素都是0。
八、小结
本文中,我们从不同的角度详细阐述了np.zeros函数以及它的各个参数和使用方法。希望通过本文的介绍,能够让读者更加深入地理解np.zeros函数,并使用它来进行数组的创建和操作。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/303671.html