如何在将图形转换为adj矩阵后获得图形名称?

2024-06-29 00:56:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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
  ... ...

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


Tags: 数据frompandasdf基金codematrix股票