先一句话总结:
axis=n,表示对n+1层[ ]内的最大单位做跨单位运算
例如:axis = 0表示对最外层[],也就是第1层里的最大单位块做块与块之间的运算
另外:有几层[ ],就是几维数组,ndarray.shape=(2,3,4),也可以理解为:第一层[]中有2个最大单位,第二层中有3个,第三层中有4个。
详细说明如下:
numpy中axis取值的说明
首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维数越高,则axis可取的值越大,数组n维时,axis=0,1,…,n。为了方便下面的理解,我们这样看待:在numpy中数组都有着[]标记,则axis=0对应着最外层的[],axis=1对应第二外层的[],以此类推,axis=n对应第n外层的[]。
下面开始从axis=0,axis=1这两个例子开始,深入透彻的理解numpy中axis的用法。
axis = 0表示对最外层[]里的最大单位块做块与块之间的运算,同时移除最外层[]:
a= np.array([1,2,3])
a.sum(axis = 0)
>>>6
123
因为只有一层[],所以直接对这一层里的最大单位快1,2,3做运算;
做完加法后本应是[6],但是移除最外层[]后,[]不存在了,所以返回的是6。
a= np.array([[1,2]