一 . np.vstack: 按垂直方向(行順序)堆疊數組構成一個新的數組數組
In[3]: import numpy as np In[4]: a = np.array([[1,2,3]]) a.shape Out[4]: (1, 3) In [5]: b = np.array([[4,5,6]]) b.shape Out[5]: (1, 3) In [6]: c = np.vstack((a,b)) # 將兩個(1,3)形狀的數組按垂直方向疊加 print(c) c.shape # 輸出形狀爲(2,3) [[1 2 3] [4 5 6]] Out[6]: (2, 3) In [7]: a = np.array([[1],[2],[3]]) a.shape Out[7]: (3, 1) In [9]: b = np.array([[4],[5],[6]]) b.shape Out[9]: (3, 1) In [10]: c = np.vstack((a,b)) # 將兩個(3,1)形狀的數組按垂直方向疊加 print(c) c.shape # 輸出形狀爲(6,1) [[1] [2] [3] [4] [5] [6]] Out[10]: (6, 1)
二 . np.hstack:按水平方向(列順序)堆疊數組構成一個新的數組spa
In[11]: a = np.array([[1,2,3]]) a.shape Out[11]: (1, 3) In [12]: b = np.array([[4,5,6]]) b.shape Out[12]: (1, 3) In [16]: c = np.hstack((a,b)) # 將兩個(1,3)形狀的數組按水平方向疊加 print(c) c.shape # 輸出形狀爲(1,6) [[1 2 3 4 5 6]] Out[16]: (1, 6) In [17]: a = np.array([[1],[2],[3]]) a.shape Out[17]: (3, 1) In [18]: b = np.array([[4],[5],[6]]) b.shape Out[18]: (3, 1) In [19]: c = np.hstack((a,b)) 將兩個(3,1)形狀的數組按水平方向疊加 print(c) c.shape # 輸出形狀爲(3,2) [[1 4] [2 5] [3 6]] Out[19]: (3, 2)
三 . numpy.ndarray.flat/flattencode
1. flat返回的是一個迭代器,能夠用for訪問數組每個元素blog
import numpy as np a = np.arange(4).reshape(2,2) print(a) for i in a.flat: print(i) #迭代器能夠用list進行輸出 print(list(a.flat)) print(type(a.flat))#返回類型爲 numpy.flatiter #能夠用索引對迭代器進行引號 a.flat[3]
#輸出:
[[0 1] [2 3]] 0 1 2 3 [0, 1, 2, 3] <class 'numpy.flatiter'> 3
2. ndarray.flatten(order=’C’)排序
Return a copy of the array collapsed into one dimension.
將數組的副本轉換爲一維,並返回索引
可選參數,order:{‘C’,‘F’,‘A’,‘K’}內存
a = np.array([[4,5],[4,9]]) #默認按行轉換 b= a.flatten() print(b) #換成列來劃分 c = a.flatten('F') print(c)
[4 5 4 9] [4 4 5 9]