1
我有以下的熊貓數據幀包含EdgeList都如下:創建的igraph從圖表數據幀大熊貓
name1 name2 weight
0 $hort, Too Alexander, Khandi 0.083333
1 $hort, Too B-Real 0.083333
我想創建從大熊貓數據框(而不是從文件)的igraph對象。 圖形太大,所以無法將其轉換爲鄰接矩陣。怎麼做?
我有以下的熊貓數據幀包含EdgeList都如下:創建的igraph從圖表數據幀大熊貓
name1 name2 weight
0 $hort, Too Alexander, Khandi 0.083333
1 $hort, Too B-Real 0.083333
我想創建從大熊貓數據框(而不是從文件)的igraph對象。 圖形太大,所以無法將其轉換爲鄰接矩陣。怎麼做?
只是素描/僞代碼,但怎麼樣:
for row in df.iterrows():
graph.add_edge(row.name1, row.name2, weight=row.weight)
的方式,我總是這樣做是下面的,雖然我經常重複的邊緣,這就是爲什麼我的權重是容易改變(我假設您的熊貓數據框被命名爲df):
import igraph
edgelist = []
weights = []
for i in df.index():
edge = (df.ix[i, 'name1'], df.ix[i, 'name2'])
if edge not in edgelist:
edgelist.append(edge)
weights.append(1)
else:
weights[edgelist.index(edge)] += 1
G = Graph()
G.add_edges(edgelist)
G.es['weight'] = weights