2017-09-25 186 views
-1

使用NumPy的:將元素添加到numpy的陣列

X= numpy.zeros(shape=[1, 4], dtype=np.int) 

我如何添加一個列表,如[1,2,3,4]?我試過numpy.add(X,[1,2,3,4])np.hstack((1,2,3,4)),但他們都沒有工作!

我知道如何在標準Python列表中使用append方法,但我想用numpy來提高性能。

+1

嘗試'numpy.add.at'。 – Divakar

+0

你可以包含所需的輸出嗎? – MSeifert

+0

'numpy.add.at(X,[1,2,3,4])'不起作用?那是對的嗎? – David

回答

1

Numpy數組在創建後不會改變形狀。因此在調用方法zeros((1,4), ...)後,您已經有了一個1x4滿零的矩陣。要將其元素設置爲零以外的值,您需要使用賦值運算符:

X[0] = [1, 2, 3, 4] # does what you are trying to achieve in your question 
X[0, :] = [1, 2, 3, 4] # equivalent to the above 
X[:] = [1, 2, 3, 4] # same 
X[0, 1] = 2 # set the individual element at [0, 1] to 2