一、创建数组
使用numpy库中的zeros函数能够创建指定维度的零数组,函数用法如下:
numpy.zeros(shape, dtype=float, order='C')
其中,shape为数组的维度,dtype为数据类型,order为数组存放在内存中的顺序(C为按行存储,F为按列存储)。默认情况下,dtype为float类型,order为C。
下面是一个创建三行四列的零数组的示例:
import numpy as np arr = np.zeros((3, 4)) print(arr)
代码输出:
[[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]]
通过shape参数能够创建不同维度的数组,例如:
arr1 = np.zeros(2) arr2 = np.zeros((2, 3)) arr3 = np.zeros((2, 3, 4))
二、数组数据类型
numpy.zeros函数默认生成的数组数据类型为float类型,如果需要创建其他类型的数组,可以使用dtype参数指定。下面是一些常见的数据类型及对应的字符:
- int8, uint8: i1, u1
- int16, uint16: i2, u2
- int32, uint32: i4, u4
- int64, uint64: i8, u8
- float16: f2
- float32: f4 或 f
- float64: f8 或 d
- bool: bool
- object: O
- string_: S
- unicode_: U
下面是一个使用dtype参数创建int类型数组的示例:
arr = np.zeros((3, 4), dtype=int) print(arr)
代码输出:
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
三、多维数组的遍历
生成的数组在使用时,通常需要遍历。对于多维数组,遍历方式有两种:
- 多层for循环:
for i in range(arr.shape[0]): for j in range(arr.shape[1]): print(arr[i][j])
for i in np.nditer(arr): print(i)
下面是一个使用nditer函数遍历二维数组的示例:
arr = np.zeros((3, 4), dtype=int) for i in np.nditer(arr): i[...] = 1 print(arr)
代码输出:
[[1 1 1 1] [1 1 1 1] [1 1 1 1]]
四、矩阵运算
使用numpy库中的zeros函数生成的数组能够进行矩阵运算,例如矩阵乘法、矩阵加法等。下面是一个进行矩阵乘法的示例:
import numpy as np arr1 = np.zeros((3, 4), dtype=int) arr2 = np.ones((4, 3), dtype=int) arr3 = np.dot(arr1, arr2) print(arr3)
代码输出:
[[0 0 0] [0 0 0] [0 0 0]]
五、数组形状
使用numpy库中的zeros函数生成的数组能够更改数组形状,例如将二维数组转换为一维数组、将一维数组转换为二维数组等。下面是一个将二维数组转换为一维数组的示例:
arr = np.zeros((3, 4), dtype=int) arr1 = arr.reshape((12,)) print(arr1)
代码输出:
[0 0 0 0 0 0 0 0 0 0 0 0]
六、数组索引和切片
使用numpy库中的zeros函数生成的数组和其他numpy数组一样,能够使用索引和切片进行操作。下面是一个获取数组部分元素的示例:
arr = np.zeros((3, 4), dtype=int) print(arr[1:, 2:])
代码输出:
[[0 0] [0 0]]