2017-04-05 123 views
1

是否允許我在數組中的每一行末尾添加任何數字(例如「0」)的任何函數。 實施例: 我有二維陣列:如何在數組結尾處添加數字numpy python

ar=[[0,0,1], 
[1,1,1], 
[0,1,0]] 

我想將其添加到其它的一維數組,所以我有:

otherarray=numpy.array([],dtype=bool) 
    otherarray=np.append(otherarray, ar) 

結果:

otherarray=[0,0,1,1,1,1,0,1,0] 

而有用。但是我需要將任意數字的每一行都加上,例如0並在otherarray中得到它(不修改ar)。 結果我想:

[0,0,1,0,1,1,1,0,0,1,0,0] 

我使用for循環做(我把每一個元素otherarray一個接一個),但現在我要問:是什麼更好的辦法?

回答

1

您可以附加一個零列ar,然後壓平:

A = np.array(ar)  

np.hstack([A, np.zeros((A.shape[0], 1), dtype=A.dtype)]).ravel() 
# array([0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0]) 
+0

好主意!謝謝! – Queen

相關問題