1. 程式人生 > >numpy.concatenate 中的axis引數怎麼理解

numpy.concatenate 中的axis引數怎麼理解

首先numpy.concatenate的官方使用說明為:

https://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.concatenate.html

numpy.concatenate中有兩個引數,一個是由被連線的陣列組成的序列(a1, a2, ...);另一個就是axis。

1. 假設被連線的陣列有兩個,為a, b,連線之後為陣列c

1.1. 若axis=0,則要求除了a.shape[0]和b.shape[0]可以不等之外,其它維度必須相等。此時

c.shape[0] = a.shape[0]+b.shape[0]

1.2. 若axis=1,則要求除了a.shape[1]和b.shape[1]可以不等之外,其它維度必須相等。此時

c.shape[1] = a.shape[1]+b.shape[1]

1.3. axis>=2 的情況以此類推,axis的值必須小於陣列的維度

2. 若連線的陣列只有一個,假設是三維的陣列a,a.shape=(2,3,4),則看成有2個(3,4)的陣列進行連線,axis的值只能為0或1,連線規則同上。也就是說,被連線的陣列一定不能是一維陣列,否則會報錯為:ValueError: zero-dimensional arrays cannot be concatenated