Converting to and from other data formats

To NetworkX Graph

Functions to convert NetworkX graphs to and from other formats.

The preferred way of converting data to a NetworkX graph is through the graph constructor. The constructor calls the to_networkx_graph() function which attempts to guess the input type and convert it automatically.

Examples

Create a graph with a single edge from a dictionary of dictionaries

>>> d = {0: {1: 1}}  # dict-of-dicts single edge (0,1)
>>> G = nx.Graph(d)

See Also

nx_agraph, nx_pydot

to_networkx_graph(data[, create_using, ...])

Make a NetworkX graph from a known data structure.

Dictionaries

to_dict_of_dicts(G[, nodelist, edge_data])

Returns adjacency representation of graph as a dictionary of dictionaries.

from_dict_of_dicts(d[, create_using, ...])

Returns a graph from a dictionary of dictionaries.

Lists

to_dict_of_lists(G[, nodelist])

Returns adjacency representation of graph as a dictionary of lists.

from_dict_of_lists(d[, create_using])

Returns a graph from a dictionary of lists.

to_edgelist(G[, nodelist])

Returns a list of edges in the graph.

from_edgelist(edgelist[, create_using])

Returns a graph from a list of edges.

Numpy

Functions to convert NetworkX graphs to and from common data containers like numpy arrays, scipy sparse arrays, and pandas DataFrames.

The preferred way of converting data to a NetworkX graph is through the graph constructor. The constructor calls the to_networkx_graph function which attempts to guess the input type and convert it automatically.

Examples

Create a 10 node random graph from a numpy array

>>> import numpy as np
>>> rng = np.random.default_rng()
>>> a = rng.integers(low=0, high=2, size=(10, 10))
>>> DG = nx.from_numpy_array(a, create_using=nx.DiGraph)

or equivalently:

>>> DG = nx.DiGraph(a)

which calls from_numpy_array internally based on the type of a.

See Also

nx_agraph, nx_pydot

to_numpy_matrix(G[, nodelist, dtype, order, ...])

Returns the graph adjacency matrix as a NumPy matrix.

to_numpy_array(G[, nodelist, dtype, order, ...])

Returns the graph adjacency matrix as a NumPy array.

to_numpy_recarray(G[, nodelist, dtype, order])

Returns the graph adjacency matrix as a NumPy recarray.

from_numpy_matrix(A[, parallel_edges, ...])

Returns a graph from numpy matrix.

from_numpy_array(A[, parallel_edges, ...])

Returns a graph from a 2D NumPy array.

Scipy

to_scipy_sparse_array(G[, nodelist, dtype, ...])

Returns the graph adjacency matrix as a SciPy sparse array.

to_scipy_sparse_matrix(G[, nodelist, dtype, ...])

Returns the graph adjacency matrix as a SciPy sparse matrix.

from_scipy_sparse_matrix(A[, ...])

Creates a new graph from an adjacency matrix given as a SciPy sparse matrix.

from_scipy_sparse_array(A[, parallel_edges, ...])

Creates a new graph from an adjacency matrix given as a SciPy sparse array.

Pandas

to_pandas_adjacency(G[, nodelist, dtype, ...])

Returns the graph adjacency matrix as a Pandas DataFrame.

from_pandas_adjacency(df[, create_using])

Returns a graph from Pandas DataFrame.

to_pandas_edgelist(G[, source, target, ...])

Returns the graph edge list as a Pandas DataFrame.

from_pandas_edgelist(df[, source, target, ...])

Returns a graph from Pandas DataFrame containing an edge list.