cugraph.Graph.from_pandas_edgelist#

Graph.from_pandas_edgelist(pdf, source='source', destination='destination', edge_attr=None, weight=None, edge_id=None, edge_type=None, renumber=True)[source]#

Initialize a graph from the edge list. It is an error to call this method on an initialized Graph object. Source argument is source column name and destination argument is destination column name. By default, renumbering is enabled to map the source and destination vertices into an index in the range [0, V) where V is the number of vertices. If the input vertices are a single column of integers in the range [0, V), renumbering can be disabled and the original external vertex ids will be used. Weights, edge ids, and edge types can be passed through either the edge_attr argument or individually as separate keyword arguments. All three are optional.

Parameters:
pdfpandas.DataFrame

A DataFrame that contains edge information

sourcestr or array-like, optional (default=’source’)

Source column name or array of column names

destinationstr or array-like, optional (default=’destination’)

Destination column name or array of column names

edge_attrstr or List[str], optional (default=None)

Names of the edge attributes. Can either be a single string representing the weight column name, or a list of length 3 holding [weight, edge_id, edge_type]. If this argument is provided, then the weight/edge_id/edge_type arguments must be left empty.

weightstr, optional (default=None)

Name of the weight column in the input dataframe.

edge_idstr, optional (default=None)

Name of the edge id column in the input dataframe.

edge_typestr, optional (default=None)

Name of the edge type column in the input dataframe.

renumberbool, optional (default=True)

Indicate whether or not to renumber the source and destination vertex IDs.

Examples

>>> #  Download dataset from
>>> #  https://github.com/rapidsai/cugraph/datasets/...
>>> df = pd.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                  header=None, names=["0", "1", "2"],
...                  dtype={"0": "int32", "1": "int32",
...                         "2": "float32"})
>>> G = cugraph.Graph()
>>> G.from_pandas_edgelist(df, source='0', destination='1',
...                        edge_attr='2', renumber=False)