向图,蟒数据帧

问题描述 投票:1回答:1
I have a data frame like below: 
df=
Parent   Child
1087       4
1087       5
1087       25
1096       25
1096       26
1096       27
1096       4
1144       25
1144       26
1144       27

 I have tried this below code.. but not providing directed graph just giving graph which is not clear picture

    import pandas as pd
    import numpy as np
    import networkx as nx
    import matplotlib.pyplot as plt

    # Build a dataframe with 4 connections

    df = pd.DataFrame([[k, i] for k, v in data.items() for i in v], 
                           columns=['parent', 'child']) 
    # Build your graph
    G = nx.from_pandas_edgelist(df, 'parent', 'child')

    # Plot it
    nx.draw(G,pos=nx.spring_layout(G), with_labels=True)
    plt.show()

我想要该数据帧转换成向图,其中源是父和目标是儿童。

提前致谢....

python directed-graph
1个回答
0
投票

你需要指定create_usingfrom_pandas_edgelist参数:

G = nx.from_pandas_edgelist(df, 'parent', 'child', create_using=nx.DiGraph())

类型G之后是<class 'networkx.classes.digraph.DiGraph'>并且边缘:

(1144, 25)
(1144, 26)
(1144, 27)
(1096, 25)
(1096, 26)
(1096, 27)
(1096, 4)
(1087, 25)
(1087, 4)
(1087, 5)
© www.soinside.com 2019 - 2024. All rights reserved.