import numpy as np a=list(range(10,15)) b=np.arange(5) a b a*2 b*2 a**3 #没有意义 b**2 a+b b.shape b.dtype
结果:a
b
a*2
b*2
b**2
a+b
b.shape
b.dtype
c=np.array([a,b]) #二维数组 c c.size c.shape #前面的表示是一个二维数组,后面表示每个数组里面都有五个数,但两组数个数不一样的时候时不显示
type(c)
type(c[0]) #要指定查看多维数组里的每组元素的类型
c.dtype
c[1].dtype
结果:
e=np.arange(6,dtype=np.int64) e e.dtype e.dtype.type #数据类型对象 e.dtype.itemsize #所占字节数 e.dtype.char #字符码 #数组切片 b[1:4] #一维 c[1,1:4] #二维
运行结果
#处理数组形状 m=np.arange(24) m.shape m # n=m.reshape(3,8) #视图,一维转化为二维数组 # n # o=m.reshape(3,2,4) #一维转化为三维数组 # o # o[1,1,1:4] #三维数组切片的两种方式 # o[1,1,0:5:3] m.shape=(2,3,1,4) #直接改变形状,一维转多维,也可以直接改变数字变成多维改一维,如下所示 m m.shape=(24,) m # m.resize(3,8) #直接改变形状,(一维转二维) # m # m.ravel() #多维数组可直接转化为一维数组 # n.flatten() #多维数组转化为一维数组之后重新分配内存空间
运行结果:
#数组遍历 for x in np.nditer(m): print(x) for x in np.nditer(m, order = 'C'):#遍历顺序 print(x) for x in np.nditer(m, op_flags=['readwrite']): #可修改数组元素 x[...]=2*x #倍数 for x in np.nditer(m, order = 'F'): print(x)