查看数组的各项属性
x2d = np.array(((100,200,300),
(111,222,333),
(123,456,789)))
print x2d.shape # 获取数组的形状,即维度,几行几列
print x2d.dtype.name # 数据类型
print x2d.size # 数组的元素个数
print x2d.itemsize # itemsize是数据类型占用的内存空间
print x2d.ndim # 维度
print type(x2d)
输出结果如下:
创建一些特定的数组
- 使用zeros()函数可以创建一个对应维度的全零数组(zeros_like )
- ones()则是创建全1数组 (ones_like )
- empty()函数会自动创建一个由随机的小值组成的数组 ( empty_like )
- eye()函数创建一个单位矩阵(对角线为1,其余为0) (identity )
a = np.zeros((3,3))
b = np.ones((3,3), dtype=np.int64)
c = np.empty((3,2))
d = np.eye(3, dtype=np.int)
print(a)
print('\n')
print(b)
print('\n')
print(c)
print('\n')
print d
注意:这些函数创建的数组类型默认是float64,可以使用dtype参数来指定一种数据类型。
其中eye(N,M,k,dtype),N = 列数,M = 行数,省略代表M = N,k 代表对角线位置, = 0 代表主对角线, +1就向右上方偏移1, -1 就向左下角偏移1。第四个参数表示类型dtype ,默认为 float 类型。
e = np.eye(3,k=1,dtype=np.int)
print(e)
print('\n')
e2 = np.eye(3,k=-1,dtype=np.int)
print(e2)
Numpy数据类型相关
dtype ( 数据类型 )是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息。
Numpy所支持的全部数据类型包括浮点数、复数、整数、布尔值、字符串,unicode类型,以及普通的Python对象。我们可以通过ndarray的astype方法显式地转换其dtype。
由上面的截图可以看到,将浮点数转换为整数,小数部分会被截断。如果字符串数组表示的全是数字,也可以用astype将其转换为数值形式。
注意 :调用astype会创建出一个新的数组(即原始数据的一份拷贝),即使新dtype和旧dtype相同也是如此。