NUMPY创建一个5x5的矩阵且每一行的值范围为从0到4 的30种方法(原创)
import numpy as np
-
np.meshgrid(np.arange(5),np.arange(5))[1]
-
np.mgrid[0:5,0:5][1]
-
np.indices((5,5))[1]
-
np.fromfunction( lambda x,y : y,(5,5))
-
np.add.accumulate( np.ones((5,5)),1)-1
-
np.zeros((5,5),dtype=np.int)+np.arange(5)
-
np.ones((5,5),dtype=np.int)* np.arange(5)
-
np.apply_along_axis( np.add.accumulate , 1, np.ones((5,5)))-1
-
Z = np.ones((5,5),dtype=np.int)
for i,j in np.ndindex(Z.shape):
Z[:,j]=j -
Z = np.ones((5,5),dtype=np.int)
for i,j in np.ndenumerate(Z):
Z[i]=i[1] -
np.tile(np.arange(5),(1,5)).reshape(5,5)
-
np.tile(np.arange(5),(5,1))
-
np.add.accumulate(np.ones((5,5)),0).T-1
-
np.pad(np.arange(5).reshape(1,5),((2,2),(0,0)),mode=‘reflect’,reflect_type=‘odd’)
-
np.ones((5,5)).cumsum(axis=1)-1
-
np.repeat(np.arange(5),5).reshape(5,5).T
-
np.array(np.arange(25) % 5).reshape(5,5)
-
np.dot(np.arange(5).reshape(5,1),np.full((1,5),1)).T
-
np.dot(np.full((5,1),1), np.arange(5).reshape(1,5))
-
np.divmod(np.arange(25),5)[1].reshape(5,5)
-
np.ones((5,5))*np.linspace(0,4,5)
-
np.mod(np.arange(25),5).reshape(5,5)
-
np.full((5,1),1).dot( np.ogrid[0:5,0:5][1])
-
np.outer(np.full((5,1),1),np.arange(5))
-
np.subtract(np.full((5,5),5) , np.arange(5,0,-1))
-
np.tensordot( np.full((5,1),1), np.arange(5).reshape(1,5),(1))
-
np.row_stack((np.arange(5),)*5)
-
np.r_[(np.arange(5),)*5].reshape(5,5)
-
np.c_[(np.arange(5),)*5].T
-
np.add.reduceat(np.ones((5,15),dtype=int),[0,1,3,6,10],1)-1