首页 > 解决方案 > 将图形转换为 adj 矩阵后如何获取图形名称?

问题描述

目前,我已经为基金和股票数据构建了一个二分图。

G = nx.from_pandas_edgelist(df, 'fund_code', 'stock_data', edge_attr='weight')
print(G.edges())

>>>
[('159957.SZ', '300070.SZ'), ('159957.SZ', '300027.SZ'), ('159957.SZ', '300003.SZ'), ('159958.SZ', '300017.SZ'), ('159958.SZ', '300136.SZ') ... ]

然后我将图形转换为 adj 矩阵进行一些计算。

A = nx.adj_matrix(G)
print("getcol ", A.getrow(0))

>>>
getcol   
  (0, 1)    0.06296851574212893
  (0, 2)    0.06296851574212893
  (0, 3)    0.05247376311844078
  (0, 4)    0.20689655172413793
  ... ...

我的问题是如何将节点映射到0, 1, 2 ...in ?例如,如果我有一个 列表,是否有一种方便的方法可以将数组转换为?谢谢matrix A159957.SZ', '300070.SZ' ...graph G[1, 3, 5, 2, 4][`159957.SZ`, `159959.SZ', `159995.SZ' ...]

标签: pythonpandasnumpygraphnetworkx

解决方案


推荐阅读