亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

輸入圖形進行 scipy 圖形搜索

輸入圖形進行 scipy 圖形搜索

DIEA 2021-07-30 12:44:42
根據我可以找到的scipy graph_search 示例,輸入圖似乎采用 NxN 形式,其中圖的索引對等于該值。所以一個矩陣G = [ [0,5,2],      [3,0,8],      [12,7,0] ]  意味著的邊權重2->1是索引的值G[1,0] = 3如果這是錯誤的,請解釋。我遇到的問題是以這種方式有效地輸入節點連接,從字典開始,其中鍵是一個節點,值是一個連接節點的數組。{'node1' : [node2,weight1],[node3,weight2]} 邊緣在哪里 node1->node2 = weight1我可以遍歷鍵的循環并創建一個新的 數組[ [node1,node2,,weight1],[node1,node3,weight2] ],但這也沒有讓我更接近 scipy 格式。有沒有一種簡單的方法可以從我可以制作的字典或迭代數組中進行這種轉換?
查看完整描述

1 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

假設您已經知道圖中的節點數 N 并且您的圖是有向的,您可以這樣做:


def create_csgraph_matrix(d, N):

    M = np.zeros((N,N))

    for i, node_weights in d.items():

        for j, weight in node_weights:

            M[i, j] = weight

    return M

d你的表格的字典在哪里。例子:


In [38]: d = {0: [[1, 10], [2, 20]], 2: [[1, 15]]}


In [39]: create_csgraph_matrix(d,3)

Out[39]: 

array([[ 0., 10., 20.],

       [ 0.,  0.,  0.],

       [ 0., 15.,  0.]])

請注意,此圖中的節點為 0,1,2。


查看完整回答
反對 回復 2021-08-03
  • 1 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號