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

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

如何在 CSV 文件中導入 csv 格式的鄰接矩陣主題標簽網絡?

如何在 CSV 文件中導入 csv 格式的鄰接矩陣主題標簽網絡?

智慧大石 2023-10-18 15:56:05
我的主題標簽共現網絡以 CSV 格式存儲為鄰接矩陣,如下所示。,#A,#B,#C,#D,#E,#F,#G,#H,#I,#J,#K#A,0,1,1,0,1,1,1,1,0,1,0#B,1,0,0,0,1,1,1,1,0,1,0#C,1,0,0,0,1,1,1,1,0,1,0...然后我使用此頁面作為參考, 從 CSV 文件中的鄰接矩陣繪制 NetworkX 圖形我想將此矩陣導入到networkx中,我嘗試了以下方法:import numpy as npimport networkx as nximport matplotlib.pyplot as pltfrom numpy import genfromtxtimport numpy as npmydata = genfromtxt('data.csv', delimiter=',')但我只得到這個:print(mydata)print(type(mydata))[nan nan]<class 'numpy.ndarray'>如何正確導入數據,我想使用python管道計算網絡中每個節點的度中心性。導入是第一步。
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

numpy.genfromtxt函數有一個名為 comments 的可選參數,默認設置為"#"

comments : str, optional
    The character used to indicate the start of a comment.
    All the characters occurring on a line after a comment are discarded

換句話說,numpy 認為您的整個文件包含注釋和空行。您必須重命名行和列標識符,或者必須將 comments 參數設置為其他值,例如"*"


查看完整回答
反對 回復 2023-10-18
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

.csv您可能會發現將文件讀入 pandas 數據幀并從中創建圖形要簡單得多,其中直接包含節點名稱:


import pandas as pd


df = pd.read_csv(s, sep=',')

G = nx.from_pandas_adjacency(df)

使用上述數據框的示例運行:


from io import StringIO

s = StringIO('''

#A,#B,#C,#D,#E,#F,#G,#H,#I,#J,#K

#A,0,1,1,0,1,1,1,1,0,1,0

#B,1,0,0,0,1,1,1,1,0,1,0

#C,1,0,0,0,1,1,1,1,0,1,0

''')


df = pd.read_csv(s, sep=',')

G = nx.from_pandas_adjacency(df)

G.edges()

# EdgeView([('#A', '#B'), ('#A', '#C')]) 

由于數據框必須是方形的,因此數據框已被剪切到第三列。但希望您看到這種方式會變得更加容易。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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