1
私はA
とB
の2つの場所の間に距離d
を含むデータフレームnet
を持っています。その後Python:行列とデータフレームの間の値をマップする方法は?
net =
A B d
0 5 3 3.5
1 2 0 2.3
2 3 2 1.2
3 4 5 2.2
4 0 1 3.2
5 0 3 4.5
私は、二対の間のすべての可能な距離が含まれている対称行列M
を持っている:
M =
0 1 2 3 4 5
0 0 3.2 2.3 4.5 1.7 5.2
1 3.2 0 2.1 0.7 3.9 3.8
2 2.3 2.1 0 1.2 1.5 4.7
3 4.5 0.7 1.2 0 3.2 3.5
4 1.7 3.9 1.5 3.2 0 2.2
5 5.2 3.8 4.7 3.5 2.2 0
私は2つのランダム異なる場所を含む新しいデータフレームdf1
を生成したいA
とB
同じ距離間隔のds > np.floor(d) & ds < np.floor(d)+1
にあります。
これは私がエラー `はAttributeErrorを得たものを私は照会することを使用すると1の床分割で
H = []
W = []
for i in net.index:
tmp = net['d'][i]
ds = np.where((M > np.floor(tmp)) & (M < np.floor(tmp)+1))
size = len(ds[0])
ind = randint(size) ## find two random locations with distance ds
h = ds[0][ind]
w = ds[1][ind]
H.append(h)
W.append(w)
df1 = pd.DataFrame()
df1['A'] = H
df1['B'] = W
次のとおりです。 'numpy.ndarray'オブジェクトには属性 'vstack'がありません – emax