无法使用来自 networkx 的 from_pandas_dataframe 创建有向图

Cannot create a directed graph using from_pandas_dataframe from networkx

我正在学习 networkx 库并使用 twitter 转发有向图数据。 我首先将数据集读入 pandas df(列为 'from'、'to'、'weight')并希望使用以下代码将前 300 行(转发)放入图表中:

tw_small = nx.from_pandas_dataframe(edges_df[:300],source='from',
                                   target='to',edge_attr=True)

我认为它正确地创建了一个图,但是当我 运行 tw_small.is_directed() 时,它说 False(无向图)并且我使用 nx.draw() 绘制了一个图但是它也没有显示方向。

谁能帮我找到制作有向图的正确方法?

谢谢。

添加可选关键字参数 create_using=nx.DiGraph(),

tw_small = nx.from_pandas_dataframe(edges_df[:300],source='from',
                                   target='to',edge_attr=True,
                                   create_using=nx.DiGraph())

你可以写边缘列表而不是数据框,它对我有用,当我使用 from_pandas_dataframe : "AttributeError: module 'networkx' has no attribute 'from_pandas_dataframe"

时它向我显示错误

解决方案:

Graph = nx.from_pandas_edgelist(df,source='source',target='destination', edge_attr=None, create_using=nx.DiGraph())

您可以使用以下方法测试您的图表是否有向:nx.is_directed(Graph)。你会得到 True.