Hey folks! In this tutorial, we will understand how to build our own weighted graph from the Pandas data frame.

**Create A Weighted Graph From a Pandas Dataframe**

The first task in any python program is importing necessary modules/libraries into the code.

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

The next task is to create a data frame for which the graph needs to be plotted in the later sections. The same can be obtained with the help of the pandas and numpy module.

First, we create a random seed that will help is generate some random integers in a particular range which will be taken as weights of the edges in the later section. Next, the data frame is created using the `DataFrame`

function and pass the data for the graph to the function.

```
r = np.random.RandomState(seed=5)
weights = r.random_integers(1, 5, size=(5,))
df = pd.DataFrame({'from':['A','B','C','D','E'],'to':['D','E','A','D','C'],'weight':weights})
df.head()
```

Next, we will try to visualize the weight added plot by plotting the nodes, edges, and labels separately with the help of `draw_networkx_nodes`

, `draw_networkx_edges`

and `draw_networkx_labels`

function respectively.

### Visualizing Nodes

```
fig, ax = plt.subplots()
pos = nx.spring_layout(G)
plt.title("Plotting Nodes")
nx.draw_networkx_nodes(G, pos, ax = ax)
```

### Visualizing Edges

```
fig, ax = plt.subplots()
pos = nx.spring_layout(G)
plt.title("Plotting Edges")
nx.draw_networkx_edges(G, pos, width=durations, ax=ax)
```

### Visualizing The Complete Graph

```
fig, ax = plt.subplots()
pos = nx.spring_layout(G)
plt.title("Plotting Complete Graph")
nx.draw_networkx_nodes(G, pos, ax = ax)
nx.draw_networkx_edges(G, pos, width=durations, ax=ax)
_ = nx.draw_networkx_labels(G, pos, labels, ax=ax)
```

## Conclusion

Congratulations! You just learned how to build a graph using pandas data frame in the NetworkX library. Hope you enjoyed it! 😇

Liked the tutorial? I would recommend you to have a look at the tutorials mentioned below:

- NetworkX Package – Python Graph Library
- Calculating the Distance Between Nodes in an Unweighted Graph
- Graph Operations in Python [With Easy Examples]
- Implementing a Graph in Python

Thank you for taking your time out! Hope you learned something new!! 😄