无法使用来自 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.
我正在学习 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.