2017-03-16 144 views
0

的列我要添加一個向量作爲我的2D陣列的第一列中,看起來像:的Python - 添加1D陣列作爲2D

[[ 1.  0.  0.  nan] 
[ 4.  4.  9.97 1. ] 
[ 4.  4. 27.94 1. ] 
[ 2.  1.  4.17 1. ] 
[ 3.  2. 38.22 1. ] 
[ 4.  4. 31.83 1. ] 
[ 3.  4. 41.87 1. ] 
[ 2.  1. 18.33 1. ] 
[ 4.  4. 33.96 1. ] 
[ 2.  1.  5.65 1. ] 
[ 3.  3. 40.74 1. ] 
[ 2.  1. 10.04 1. ] 
[ 2.  2. 53.15 1. ]] 

我要添加一個阿雷[]的第13族元素如矩陣的第一列。我嘗試使用np.stack_column,np.append但它是用於一維矢量或不起作用,因爲我不能選擇axis = 1,只能做np.append(peak_values, results)

回答

0

最簡單的答案,你可能不需要numpy。

嘗試以下操作:

new_array = [] 
new_array.append(your_array) 

就是這樣。

+0

之後,您可以通過執行'np.array(new_array)'來簡單地將此'new_array'轉換爲numpy格式。 –

+0

我不明白你添加矢量的地方。我的2D是數組,1D是矢量,我必須做array.append(vector)? – DionysoSong

+0

不用擔心。從一開始,我們假設你的數組名是'my_2d_array'。我們做'my_2d_list = []'然後'my_2d_list.append(my_2d_array)'。然後你得到一個2D列表,並將你的數組作爲第一列。最後,請執行'my_final_array = np.array(my_2d_list)',它會將python列表轉換爲numpy數組格式。希望有所幫助! –

0

我會建議使用Numpy。它可以讓你輕鬆地做你想做的。

這是一個平方整個集合的例子。你可以使用類似nums [0]的東西。

nums = [0, 1, 2, 3, 4] 
even_squares = [x ** 2 for x in nums if x % 2 == 0] 
print even_squares # Prints "[0, 4, 16]"