https://github.com/deepgraph/deepgraph
Analyze Data with Pandas-based Networks. Documentation:
https://github.com/deepgraph/deepgraph
data-analysis data-mining data-science data-structures data-visualization graph-database graph-theory graphs graphviz interfacing iterative-methods multilayer-networks network network-analysis network-visualization networkx pandas parallel partitioning
Last synced: 17 days ago
JSON representation
Analyze Data with Pandas-based Networks. Documentation:
- Host: GitHub
- URL: https://github.com/deepgraph/deepgraph
- Owner: deepgraph
- License: other
- Created: 2015-10-27T12:28:45.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T22:45:13.000Z (about 1 year ago)
- Last Synced: 2024-10-01T23:06:07.829Z (about 1 year ago)
- Topics: data-analysis, data-mining, data-science, data-structures, data-visualization, graph-database, graph-theory, graphs, graphviz, interfacing, iterative-methods, multilayer-networks, network, network-analysis, network-visualization, networkx, pandas, parallel, partitioning
- Language: Python
- Homepage: http://deepgraph.readthedocs.io
- Size: 31.4 MB
- Stars: 284
- Watchers: 19
- Forks: 40
- Open Issues: 11
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-python-machine-learning-resources - GitHub - 64% open · ⏱️ 14.06.2021): (图数据处理)
README
|PyPi Version| |PyPi Downloads| |Conda Version| |Conda Downloads| |Documentation|
DeepGraph
=========
DeepGraph is a scalable, general-purpose data analysis package. It implements a
`network representation `_ based
on `pandas `_
`DataFrames `_
and provides methods to construct, partition and plot networks, to interface
with popular network packages and more.
It is based on the network representation introduced
`here `_. DeepGraph is also capable of
representing
`multilayer networks `_.
Main Features
-------------
Utilizing one of Pandas' primary data structures, the
`DataFrame `_,
DeepGraph represents the (super)nodes of a graph by one (set of) table(s), and their
pairwise relations (i.e. the (super)edges of a graph) by another (set of) table(s).
DeepGraph's main features are
- `Create edges `_:
Methods that enable an iterative, yet
vectorized computation of pairwise relations (edges) between nodes using
arbitrary, user-defined functions on the nodes' properties. The methods
provide arguments to parallelize the computation and control memory consumption,
making them suitable for very large data-sets and adjustable to whatever
hardware you have at hand (from netbooks to cluster architectures).
Note: the documentation provides a
`tutorial `_
on how to compute large correlation matrices in parallel using DeepGraph.
- `Partition nodes, edges or a graph `_:
Methods to partition nodes,
edges or a graph by the graph’s properties and labels, enabling the
aggregation, computation and allocation of information on and between
arbitrary *groups* of nodes. These methods also let you express
elaborate queries on the information contained in a deep graph.
- `Interfaces to other packages `_:
Methods to convert to common
network representations and graph objects of popular Python network packages
(e.g., SciPy sparse matrices, NetworkX graphs, graph-tool graphs).
- `Plotting `_:
A number of useful plotting methods for networks,
including drawings on geographical map projections using `basemap `__.
Quick Start
-----------
The source code is hosted on GitHub at: https://github.com/deepgraph/deepgraph.
Binary installers are available at the
`Python Package Index (PyPI) `_
and on
`conda-forge `_.
DeepGraph can be installed via pip::
$ pip install deepgraph
or if you're using `Conda `_,
install with::
$ conda install -c conda-forge deepgraph
Then, import and get started with::
>>> import deepgraph as dg
>>> help(dg)
Dependencies
------------
**Required dependencies**
+---------------------------------------+---------------------------+
| Package | Minimum supported version |
+=======================================+===========================+
| `Python `_ | 3.9 |
+---------------------------------------+---------------------------+
| `NumPy `_ | 1.21.6 |
+---------------------------------------+---------------------------+
| `Pandas `_ | 1.2 |
+---------------------------------------+---------------------------+
**Optional dependencies ("extras")**
+-----------------------------------------------------+-----------------+-----------+
| Dependency | Minimum Version | pip extra |
+=====================================================+=================+===========+
| `Matplotlib `_ | 3.1 | plot |
+-----------------------------------------------------+-----------------+-----------+
| `basemap `_ | 2.0 | basemap |
+-----------------------------------------------------+-----------------+-----------+
| `PyTables `_ | 3.7 | tables |
+-----------------------------------------------------+-----------------+-----------+
| `SciPy `_ | 1.5.4 | scipy |
+-----------------------------------------------------+-----------------+-----------+
| `NetworkX `_ | 2.4 | networkx |
+-----------------------------------------------------+-----------------+-----------+
| `graph\_tool `_ | 2.27 | N/A |
+-----------------------------------------------------+-----------------+-----------+
See the `full installation instructions `_
for further details.
Documentation
-------------
The official documentation is hosted here:
http://deepgraph.readthedocs.io
The documentation provides a good starting point for learning how
to use the library.
The `API Reference `_
lists all available methods of the core
`DeepGraph `_
class, including links to their respective source code and docstrings. These docstrings
provide detailed information, usage examples and notes for each method.
Development
-----------
All forms of contributions to this project are welcome, whether it's bug reports, bug fixes,
documentation enhancements, feature requests, or new ideas.
How to Contribute
- Report Issues: If you encounter any bugs or issues, please
`create an issue `_ detailing the problem.
- Submit Pull Requests: For bug fixes, enhancements, or new features, fork the repository and
submit a pull request with your changes.
- Documentation Improvements: Help us improve our documentation by suggesting edits or additions.
- Share Ideas: Have an idea to improve the project? Feel free to
`open a discussion `_.
For additional inquiries or direct communication, you can reach me via email: dominik.traxl@posteo.org.
How to Get Started as a Developer
---------------------------------
See the `Installation from Source & Environment Setup
`_
section in the documentation for complete instructions on building from the git source tree.
Citing DeepGraph
----------------
Please acknowledge the authors and cite the use of this software when results
are used in publications or published elsewhere. Various citation formats are
available here:
https://dx.doi.org/10.1063/1.4952963
For your convenience, you can find the BibTex entry below:
::
@Article{traxl-2016-deep,
author = {Dominik Traxl AND Niklas Boers AND J\"urgen Kurths},
title = {Deep Graphs - A general framework to represent and analyze
heterogeneous complex systems across scales},
journal = {Chaos},
year = {2016},
volume = {26},
number = {6},
eid = {065303},
doi = {http://dx.doi.org/10.1063/1.4952963},
eprinttype = {arxiv},
eprintclass = {physics.data-an, cs.SI, physics.ao-ph, physics.soc-ph},
eprint = {http://arxiv.org/abs/1604.00971v1},
version = {1},
date = {2016-04-04},
url = {http://arxiv.org/abs/1604.00971v1}
}
Licence
-------
Distributed with a `BSD-3-Clause License. `_::
Copyright (C) 2017-2025 DeepGraph Developers
Dominik Traxl
.. |PyPi Version| image:: https://badge.fury.io/py/DeepGraph.svg
:target: https://pypi.org/project/DeepGraph/
.. |PyPi Downloads| image:: https://static.pepy.tech/badge/deepgraph/month
:target: https://pypi.org/project/DeepGraph/
.. |Conda Version| image:: https://anaconda.org/conda-forge/deepgraph/badges/version.svg
:target: https://anaconda.org/conda-forge/deepgraph
.. |Conda Downloads| image:: https://img.shields.io/conda/dn/conda-forge/deepgraph.svg?label=Conda%20downloads
:target: https://anaconda.org/conda-forge/deepgraph
.. |Documentation| image:: https://readthedocs.org/projects/deepgraph/badge/?version=latest
:target: http://deepgraph.readthedocs.io/en/latest/?badge=latest