
ndarray 数组除了可以使用底层 ndarray 构造器来创建外也可以通过以下几种方式来创建。numpy.emptynumpy.empty 方法用来创建一个指定形状shape、数据类型dtype且未初始化的数组numpy.empty(shape, dtype float, order C)参数说明参数描述shape数组形状dtype数据类型可选order有C和F两个选项,分别代表行优先和列优先在计算机内存中的存储元素的顺序。下面是一个创建空数组的实例实例import numpy as np x np.empty([3,2], dtype int) print (x)输出结果为[[ 6917529027641081856 5764616291768666155] [ 6917529027641081859 -5764598754299804209] [ 4497473538 844429428932120]]注意− 数组元素为随机值因为它们未初始化。numpy.zeros创建指定大小的数组数组元素以 0 来填充numpy.zeros(shape, dtype float, order C)参数说明参数描述shape数组形状dtype数据类型可选orderC 用于 C 的行数组或者 F 用于 FORTRAN 的列数组实例import numpy as np # 默认为浮点数 x np.zeros(5) print(x) # 设置类型为整数 y np.zeros((5,), dtype int) print(y) # 自定义类型 z np.zeros((2,2), dtype [(x, i4), (y, i4)]) print(z)输出结果为[0. 0. 0. 0. 0.] [0 0 0 0 0] [[(0, 0) (0, 0)] [(0, 0) (0, 0)]]numpy.ones创建指定形状的数组数组元素以 1 来填充numpy.ones(shape, dtype None, order C)参数说明参数描述shape数组形状dtype数据类型可选orderC 用于 C 的行数组或者 F 用于 FORTRAN 的列数组实例import numpy as np # 默认为浮点数 x np.ones(5) print(x) # 自定义类型 x np.ones([2,2], dtype int) print(x)输出结果为[1. 1. 1. 1. 1.] [[1 1] [1 1]]numpy.zeros_likenumpy.zeros_like 用于创建一个与给定数组具有相同形状的数组数组元素以 0 来填充。numpy.zeros 和 numpy.zeros_like 都是用于创建一个指定形状的数组其中所有元素都是 0。它们之间的区别在于numpy.zeros 可以直接指定要创建的数组的形状而 numpy.zeros_like 则是创建一个与给定数组具有相同形状的数组。numpy.zeros_like(a, dtypeNone, orderK, subokTrue, shapeNone)参数说明参数描述a给定要创建相同形状的数组dtype创建的数组的数据类型order数组在内存中的存储顺序可选值为 C按行优先或 F按列优先默认为 K保留输入数组的存储顺序subok是否允许返回子类如果为 True则返回一个子类对象否则返回一个与 a 数组具有相同数据类型和存储顺序的数组shape创建的数组的形状如果不指定则默认为 a 数组的形状。创建一个与 arr 形状相同的所有元素都为 0 的数组实例import numpy as np # 创建一个 3x3 的二维数组 arr np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 创建一个与 arr 形状相同的所有元素都为 0 的数组 zeros_arr np.zeros_like(arr) print(zeros_arr)输出结果为[[0 0 0] [0 0 0] [0 0 0]]numpy.ones_likenumpy.ones_like 用于创建一个与给定数组具有相同形状的数组数组元素以 1 来填充。numpy.ones 和 numpy.ones_like 都是用于创建一个指定形状的数组其中所有元素都是 1。它们之间的区别在于numpy.ones 可以直接指定要创建的数组的形状而 numpy.ones_like 则是创建一个与给定数组具有相同形状的数组。numpy.ones_like(a, dtypeNone, orderK, subokTrue, shapeNone)参数说明参数描述a给定要创建相同形状的数组dtype创建的数组的数据类型order数组在内存中的存储顺序可选值为 C按行优先或 F按列优先默认为 K保留输入数组的存储顺序subok是否允许返回子类如果为 True则返回一个子类对象否则返回一个与 a 数组具有相同数据类型和存储顺序的数组shape创建的数组的形状如果不指定则默认为 a 数组的形状。创建一个与 arr 形状相同的所有元素都为 1 的数组实例import numpy as np # 创建一个 3x3 的二维数组 arr np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 创建一个与 arr 形状相同的所有元素都为 1 的数组 ones_arr np.ones_like(arr) print(ones_arr)输出结果为[[1 1 1] [1 1 1] [1 1 1]]