ndarry
n维数组对象,所有元素类型相同
np.ndarry([1,2],[3,4]);
使用NumPy函数创建ndarray数组
np.arange(10)
np.ones(shape) x=np.ones((3,6))//三行六列 x.shape是(3,6)
np.zeros(shape)
np.eye(5)//正方的N*N单位矩阵,对角线1,其余0
np.ones_like(a)//根据数组a的形状生成一个全1的数组
np.zeros_like(a)
np.full_like(a,val)//根据数组a的形状生成一个全val的数组
np.linspace(1,10,4)//根据起始数据等间距地填充数组 结果array([1.,4.,7.,10.])
np.linspace(1,10,4,endpoint=False)//结果array([1.,3.25,5.5,7.75])
np.concatenate(a,b)//将多个数组合并成一个数组
ndarray维度变换
.reshape(shape)//返回一个新数组,原数组不变
.resize(shape)//原数组改变
.flatten()//原数组改变,成为一维数组
类型改变
.astype(np.float)
转换成列表
.tolist()
索引
//一维a[0] //多维a[1,3,2]//每个维度一个索引
切片
//一维a[1:4:2]//起:终(不含):步长
//多维a[:,:,::2]//三个维度上,::2是第三维度上的跳跃步长
运算
a.mean()
np.cos()//每个元素cos
数据存储和读取
csv只能有效存储一维和二维数组
np.savetxxt(‘a.csv’,array,fmt=’%d’,delimiter=’,’)//分割字符串是,
np.loadtxt(‘a.csv’,delimiter=’,’)
多维数据存取
a.tofile(‘a.scv’,sep=’,’,dormat=’%d’)
np.fromfile(‘a.csv’,dtype=float,count=-1,sep=’,’)//count为-1代表读入整个文件
np.save(“a.npy”,a)
b=np.load(“a.npy”)