import numpy as np x=np.array([[1],[2],[3]]) y=np.array([4,5,6]) b=np.broadcast(x,y)#对y广播x #1. print(b.index) print(b.__next__())#循环到下一个(1, 4) print(b.__next__())#循环到下一个(1, 5) print(b.__next__())#循环到下一个(1, 6) print(b.__next__())#循环到下一个(2, 4) print(b.__next__())#循环到下一个(2, 5) print(b.__next__())#循环到下一个(2, 6) print(b.__next__())#循环到下一个(3, 4) print(b.__next__())#循环到下一个(3, 5) print(b.__next__())#循环到下一个(3, 6) print(b.index) c=np.empty(b.shape)#清空 print(b," ",c) #2. print(c.shape) c.flat=[u+v for (u,v) in b]#数组的加法 print(c) #3. d=np.arange(4).reshape(1,4) print(" ",d)#[[0 1 2 3]] print(np.broadcast_to(d,(4,4)))#打印4行[[0 1 2 3]] #实现数组的复制,要求列数相等 #4.增加维度 e=np.array(([1,2],[3,4]))#二维数组 f=np.expand_dims(x,axis=0)#扩充成三维数组 g=np.expand_dims(x,axis=1)#插入位置不一样 #5.删除维度 h=np.arange(27).reshape(1,3,9)#三维 j=np.squeeze(h)#外层只有一个元素,可以删除一个维度
#6.拼接 a=np.array([[1,2],[3,4]]) b=np.array([[5,6],[7,8]]) print(np.concatenate((a,b)))#拼接,按列 print(np.hstack((a,b))) print(np.concatenate((a,b),axis=1))#拼接,按行 print(np.vstack((a,b))) print(np.stack((a,b),0))#拼成三维数组,按列 print(np.stack((a,b),1))#按行 #7.切割 a=np.arange(100) b=np.split(a,10)#切割成是10数组 c=np.split(a,[30,60,80])#切割三刀,留下四个数组 d=np.arange(100).reshape(10,10) e=np.hsplit(a,5)#列切割成5份 f=np.vsplit(a,5)#行切割成5份,切割时候必须整除