【发布时间】:2020-09-08 05:46:48
【问题描述】:
我试图表示 A 列中的数字与其 B 中的对应值之间的关系。
A B
Home [Kitchen, Home, Towel]
Donald [US, 02 , Donald, Trump]
Trump [Trump,Family, Cat, Dog]
Dog [Dog,Cat,Paws]
A 列中的数字和 B 中的数字是图中的节点。我想将 B 中的元素连接到 A 或相互连接。例如:
- A 中的家与自身相连;如果我在 B 列中查看(该值仅出现在第一行),B 中的 Home 连接到 Kitchen and Towel(传入链接);
- Donald 与自身相连,因为 Donald 仅在 B 中;但是,B 中的 Donald 也与 US、02 和 Trump 相关(传入链接);
- 特朗普与唐纳德有一个传出链接和传入链接(家庭、猫和狗);
- Dog 与 Trump 有一个传出链接和传入链接(Cat 和 Paws)。
那么规则应该如下:
- 如果A中的单词在B中的另一行,则创建外链;
- 如果 A 中的单词也包含在 B 中,则为 B 中的每个单词创建指向 A 中单词的传入链接。
我应该如何调整我的代码?
file = file.assign(B=file.B.map(list)).explode('B')
G = nx.DiGraph()
nx.add_path(G, file['A'])
nx.add_path(G, file['B'])
nx.draw_networkx(G)
plt.show()
【问题讨论】: