A Python histogram library offering updateable, semantic histogram objects with multiple visualization backends and data source support.
Physt is a Python library for creating and manipulating histograms as semantic, updateable objects. It provides a more intuitive and feature-rich alternative to numpy.histogram, supporting various data sources and visualization tools. The library solves the problem of working with static histogram data by allowing dynamic updates and rich metadata.
Data scientists, researchers, and developers working in Python who need flexible histogram creation, manipulation, and visualization for data analysis from multiple sources.
Developers choose Physt for its human-friendly API, support for updateable histograms, multiple data source integrations, and various plotting backends, making it more versatile than basic histogram implementations.
Python histogram library - histograms as updateable, fully semantic objects with visualization tools. [P]ython [HYST]ograms.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Histograms can be dynamically updated with new data points after creation using the `<<` operator, as shown in the simple example with adding a forgotten value.
Supports histogram creation from numpy, dask, pandas, polars, and xarray objects, making it versatile for different data workflows without conversion hassles.
Offers plotting with matplotlib, vega, plotly, folium, and ASCII, allowing users to choose based on static, interactive, or geographic visualization needs.
Includes support for polar, spherical, and cylindrical histograms, enabling advanced spatial data analysis, as demonstrated in the 3D directional example with globe maps.
Key features like adaptive rebinning, dask support, and geospatial bins are labeled as beta or alpha in the README, indicating they may be unstable or incomplete for production use.
Physt intentionally lacks kernel density estimates and interpolation-based rebinning, requiring users to integrate with other packages for advanced statistical analysis, which adds complexity.
Some plotting backends, such as vega, are marked as broken, and plotly support is very basic, which may hinder users relying on interactive or specific visualization tools.