我在下面有一些 pandas 数据框形式的数据,其中列代表离散技能,行代表离散工作。仅当工作需要该技能时才存在 1,否则为 0。
skill_1, skill_2,
job_1 1, 0,
job_2 0, 0,
job_3 1, 1,
我想使用 networkx 创建一个图表来可视化工作和技能之间的关系。我尝试了两种方法,一种是在数据框本身上,nx.from_pandas_adjacency
and nx.from_numpy_matrix
。后一种方法应用于数据帧的 numpy 表示,其中删除了列名和行名。
无论哪种情况,都会引发错误,因为这是一个非方矩阵。这是有道理的,因为 networkx 可能将列和行解释为同一组节点。然而,这里的列和节点代表明显不同的东西。两项工作通过它们共享的技能联系起来,两种技能通过它们共享的工作联系起来,但任何两种技能或任何两个工作之间不存在直接优势。
鉴于我的行和列是不同的节点集,如何将数据导入到 networkx 中?
你有一个二分图 https://en.wikipedia.org/wiki/Bipartite_graph。 Networkx 可以使用原始(双)邻接矩阵创建此网络nx.algorithms.bipartite.matrix.from_biadjacency_matrix https://networkx.github.io/documentation/stable/reference/algorithms/generated/networkx.algorithms.bipartite.matrix.from_biadjacency_matrix.html#networkx.algorithms.bipartite.matrix.from_biadjacency_matrix
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)