我正在嘗試將一列插入二維陣列。目前我有一個使用 itertools 生成的二維陣列。
sample_points=[-1.5, -.8]
base_points = itertools.combinations_with_replacement(sample_points, 3)
base_points_list=list(base_points)
base_points_array=np.asarray(base_points_list)
然后我得到一個如下所示的陣列:
>>> base_points_array
array([[-1.5, -1.5, -1.5],
[-1.5, -1.5, -0.8],
[-1.5, -0.8, -0.8],
[-0.8, -0.8, -0.8]])
我想在開頭添加一列,使陣列看起來像這樣:
[[1 -1.5 -1.5 -1.5]
[1 -1.5 -1.5 -0.8]
[1 -1.5 -0.8 -0.8]
[1 -0.8 -0.8 -0.8]]
所以我使用了命令: np.insert(base_points_array,0,1,1) 因為它應該能夠使用廣播來做到這一點。但我得到了完全不同的東西。行數有變化:
array([[ 1. , -1.5, -1.5, -1.5, -0.8],
[ 1. , -1.5, -1.5, -0.8, -0.8],
[ 1. , -1.5, -0.8, -0.8, -0.8]])
我究竟做錯了什么?
uj5u.com熱心網友回復:
使用np.append
. 但是如果您要插入的陣列是一維陣列
insert_array= [1, 1, 1, 1]
您需要先將插入陣列的維度擴大 1,您可以使用
insert_array= np.expand_dims(insert_array, 1)
然后你可以使用 append 方法
base_points_array= np.append(insert_array, base_points_array, 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497781.html