24

I'm learning networkx library and use twitter retweet directed graph data. I first read the datasets into pandas df (columns are 'from','to','weight') and wanted to put a first 300 rows(retweet) into a graph using below code:

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

I thought that it correctly created a graph but when I run tw_small.is_directed(), it says False(undirected graph) and I drew a graph using nx.draw() but it doesn't show the direction either.

Could someone help me find a correct way to make a directed graph?

Thanks.

0

2 Answers 2

46

Add the optional keyword argument create_using=nx.DiGraph(),

tw_small = nx.from_pandas_dataframe(edges_df[:300],source='from',
                                   target='to',edge_attr=True,
                                   create_using=nx.DiGraph())
Sign up to request clarification or add additional context in comments.

3 Comments

Thank you. The syntax for the create_using agrument was not clearly explained in the documentation.
I know it's been a while, but from_pandas_datafarme has been deprecated, how would you do it with more current tools?
@OfekGlick, not sure if you're still looking for this, but you would use from_pandas_edgelist, so it would be G = nx.from_pandas_edgelist(edges_df, source='from', target='to', edge_attr=True, create_using=nx.DiGraph()) (which is what the other solution below by Hamdi Tarek is saying).
12

Instead of a dataframe you can write edgelist, it works for me, it shows me an error when I used from_pandas_dataframe : "AttributeError: module 'networkx' has no attribute 'from_pandas_dataframe"

Solution :

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

You can test if your graph is directed or not using: nx.is_directed(Graph). You will get True.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.