Skip to main content

Lightweight representations of networks using Pandas DataFrames.

Project description

networkframe

pypi python Build Status

Lightweight representations of networks using Pandas DataFrames.

networkframe uses Pandas DataFrames to represent networks in a lightweight way. A NetworkFrame object is simply a table representing nodes and a table representing edges, and a variety of methods to make querying and manipulating that data easy.

Pros:

  • Lightweight: NetworkFrame objects are just two DataFrames, so they're easy to manipulate and integrate with other tools.
  • Interoperable: can output to NetworkX, numpy and scipy sparse matrices, and other formats (coming soon).
  • Flexible: can represent directed, undirected, and multigraphs.
  • Familiar: if you're familiar with Pandas DataFrames, that is. As much as possible, networkframe uses the same syntax as Pandas, but also just gives you access to the underlying tables.
  • Extensible: it's easy to use NetworkFrame as a base graph - for instance, you could make a SpatialNetworkFrame that adds spatial information to the nodes and edges.

Cons:

  • No guarantees: since networkframe gives you access to the underlying DataFrames, it doesn't do much validation of the data.
  • Not optimized for graph computations: since networkframe is storing data as simple node and edge tables, it's not optimized for doing actual computations on those graphs (e.g. like searching for shortest paths). A typical workflow would be to use networkframe to load and manipulate your data, then convert to a more graph-oriented format like scipy sparse matrices or NetworkX for computations.

Room for improvement:

  • Early development: there are likely bugs and missing features. Please report any issues you find!
  • More interoperability: networkframe can currently output to NetworkX, numpy and scipy sparse matrices, and other formats (coming soon). It would be nice to be able to read in from these formats as well.
  • Graph-type handling: networkframe has mainly been tested on directed graphs, less so for undirected and multigraphs.

Credits

This package was created with Cookiecutter and the bdpedigo/cookiecutter-pypackage project template (which builds on several previous versions).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

networkframe-0.2.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

networkframe-0.2.1-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file networkframe-0.2.1.tar.gz.

File metadata

  • Download URL: networkframe-0.2.1.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for networkframe-0.2.1.tar.gz
Algorithm Hash digest
SHA256 78f99e0ae23bcdec9baeb1aaef4d75f3d9889957e302eaafce1a380255b63f27
MD5 6a4c39c4a27e148caa56a075edc9022e
BLAKE2b-256 efd59f1adb55028b61eb931e867e9de47853f9b132e19ea9cfd1bd9bbd1f0208

See more details on using hashes here.

File details

Details for the file networkframe-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: networkframe-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for networkframe-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c7792a1ed676befab3661eadf7e30431e59a12fd1601fdbd8d5d4f64c24db3e2
MD5 2ee4dd19f78646bb98fcf87e7d38dd75
BLAKE2b-256 fc4ee6e552052575c590ced4dc810bbd10e718f22fa11c4273b08b7d664da15d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page