1.创建数组
import numpy as np a=np.array([1,2,3,4],[4,5,6,7],[7,8,9,10])
查看:
a.shape | (3,4)
a.shape = 4,3 | 改变为4*3形状
a.shape = 2,-1 | -1代表自动计算长度
a.dtype | 返回元素类型('int32')
也可通过dtype指定创建数组元素的类型
b = np.array([1,2,3],dtype=np.float)
np.arange(0,1,0.1) 开始值、终值、步长,不包括终值
np.linspace(0,1,10) 开始值、终值、元素个数。默认endpoint=True,当不想包括终值时,可设置endpoint=False.
np.logspace(0,2,5) 同上,但是是等比数组
np.zeros()
np.ones()
np.empty() 只分配内存
2、存取元素
Numpy采用tuple作为数组下标,和python的切分基本一样,但是:
下标只包含整数和切片时,得到的数组和原数组共享数据,改变 一个值即会改变原来的数组
下标是列表时,得到的数组和原数组不共享数据
得到的数组和原数组不共享数组,改变一个不会改变原来的数组。
3、结构数组
persontype = np.dtype({ 'names':['name','age','weight'], 'formats':['S32','i','f']},align=True) a=np.array([("coco",32,76.0),"coco1",43,75.3],dtype=persontype)
persontype中的names和formats是字典的两个键,每个键对应一个列表
4、内存结构
dtype | * |
dim count | 2 |
dimensions | 3,3 |
strides | 12,4 |
data | * |
float32元素类型
a=np.array([[0,1,2],[3,4,5],[6,7,8]],dtype=np.float32,order="C") 默认的order就是C
a.strides | (12,4)
order="C":存储格式为C语言数据格式,C是一行一行存储数据
a=np.array([[0,1,2],[3,4,5],[6,7,8]],dtype=np.float32,order="F")
a.strides | (4,12)
order="F":存储格式为Fortran数据格式,F是一列一列存储数据