#用array函数创建数组对象 import numpy as np data1=[1,2,3,4] w1=np.array(data1) data2=(1,2,3,4) w2=np.array(data2) data3=[[1,2,3,4],[5,6,7,8]] w3=np.array(data3) print(w1,w2,w3,sep="n") #arange,linspace,logspace,zeros,ones,diag,eye函数创建数组 w4=np.arange(1,2,0.2)#步长 w5=np.linspace(1,2,5)#数量 w6=np.logspace(0,1,5)#0,1是10的幂,5是数量,这是创建了等比数列 w7=np.zeros([3,3])#3*3全0数组 w8=np.ones([3,4])#3*4全1数组 w9=np.diag([1,2,3,4])#1,2,3,4是对角线上的元素,对角数组 w10=np.eye(4)#对角线全为1的数组 print(w4,w5,w6,w7,w8,w9,w10,sep="n") #ndarray对象属性及数据转换 a=w10.ndim#秩 b=w10.shape#形状 c=w10.size#元素个数 d=w10.dtype#数据类型 e=w10.itemsize#每个元素的字节大小 print(a,b,c,d,e) #astype方法进行数据类型转换 w11=w10.astype(np.float64) print(w11.dtype) #生成随机数 w12=np.random.randint(100,200,size=(2,4)) w13=np.random.rand(2,4) print(w12,w13) #数组变换 w14=np.arange(8) w15=w14.reshape(2,4)#重塑为2*4 w16=w15.ravel()#散开为1*8 print(w14,w15,w16,sep=" ") #数组合并 w17=np.hstack((w15,w15))#hstack横向合并,vstack纵向合并 w18=np.concatenate((w15,w15),axis=1)#横向合并 w19=np.concatenate((w15,w15),axis=0)#纵向合并 #数组分割同理,用hsplit,vsplit,split #数组转置和轴对换 w20=w17.transpose((1,0))#1和0是轴编号 w21=w17.T#T属性,也是转置 w22=w17.swapaxes(0,1)#轴对换 print(w17,w18,w19,w20,w21,w22,sep="n")



