您面临的问题是因为数据中的某些项目是重复的。要解决它,您需要drop_duplicates
在相关的地方使用:
df["color"] = "blue"
df.loc[df.Src.isin(["x.serm.cool", "cdc.fre.gh"]), "color"] = "green"
df["Dst"] = df.Dst.apply(lambda x: x[1:-1].split(","))
df = df.explode("Dst").drop_duplicates()
G = nx.from_pandas_edgelist(df, 'Src', 'Dst')
colors = df[["Src", "color"]].drop_duplicates()["color"]
nx.draw(G, node_color = colors)
输出: