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

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

將圖形對象附加到 Python 中 networkx 列表的問題

將圖形對象附加到 Python 中 networkx 列表的問題

HUH函數 2023-05-23 14:34:48
我正在嘗試使用 networkx 包從圖中隨機刪除節點。第一個塊描述了圖的構造,第二個塊給出了我必須從圖 H 中刪除的節點列表(20%、50% 和 70% 的刪除)。最后,我想要 3 個版本的基本圖 H,在列表或任何數據結構中。塊 3 中的代碼為我提供了"None"類型的對象。最后一個塊顯示它適用于單個案例。我猜問題出在append函數中,它以某種方式返回類型為"None"的對象。我還覺得基礎圖 H 可能會在每次迭代后發生變化。有沒有辦法解決?任何幫助,將不勝感激 :)import networkx as nximport numpy as npimport random# node removals from Graphs at random# network constructionH = nx.Graph()H.add_nodes_from([1,2,3,4,5,6,7,8,9,10])H.add_edges_from([[1,2],[2,4],[5,6],[7,10],[1,5],[3,6]])nx.info(H)nodes_list = list(H.nodes)# list of nodes to be removedperc = [.20,.50,.70] # percentage of nodes to be removedrandom_sample_list = [] for p in perc:    interior_list = []    random.seed(2) # for replicability    sample = round(p*10)    random_sample = random.sample(nodes_list, sample)    interior_list.append(random_sample)    random_sample_list.append(random_sample)# applying the list of nodes to be removed to create a list of graphs - not workinggraph_list = []for i in range(len(random_sample_list)):    H1 = H.copy()    graph_list.append(H1.remove_nodes_from(random_sample_list[i]))# list access - worksH.remove_nodes_from(random_sample_list[1])nx.info(H)最終輸出應如下所示:[具有 20% 刪除節點的圖形、具有 50% 刪除節點的圖形、具有 7% 刪除節點的圖形] - 例如。列表
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

該函數remove_nodes_from不返回修改后的圖,而是返回None.?因此,您只需要創建具有所需節點百分比的圖形并將其附加到列表中:


graph_list = []

for i in range(len(random_sample_list)):

? ? H1 = H.copy()

? ? H1.remove_nodes_from(random_sample_list[i])

? ? graph_list.append(H1)


查看完整回答
反對 回復 2023-05-23
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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