Distribution Analyser is a Web App that allows you to interactively explore continuous distributions from SciPy and fit distribution(s) to your data.

Overview

DA logo

Distribution Analyser

Streamlit App Latest Release MIT License

Distribution Analyser is a Web App that allows you to interactively explore continuous distributions from SciPy and fit distribution(s) to your data. Open the app in Streamlit and explore online, or clone repo and explore locally.

How to use

Here is a link to YouTube for Distribution Analyser walkthrough. http://www.youtube.com/watch?v=6S0b7gFY36I

Main options:

  • Explore distributions - Interactively explore continuous distribution functions from SciPy v1.6.1.
  • Fit distributions - Import your data and fit selected continuous distribution(s) to them.

Explore distributions

  • Select distribution
  • Use sliders to change distribution parameters and see how distribution changes
  • Fine tunning:
    • Slider can be in steps of 0.10 / 0.01
    • Possible to enter paramter values manually

Tweak display

  • Dark/Light Mode
  • Figure display on/off options:
    • Histogram
    • PDF
    • CDF (with option P(X<=x))
    • SF
    • Boxplot
    • Quantiles (1, 2, 3)
    • Regions of 1/2/3 σ
    • Generate table with statistics

Export

  • Generate python code with your selected distribution and it's paramteters
    • Copy code to clipboard or Download .py file and run it locally

Fit distributions

  • This part of the app fits selected distribution(s) to the data
    • Import your data in a .csv file, or download sample data
    • Choose distribution (multiselect box), has options All_distributions
  • Show results:
    • Interactive Figures (limited to 15 best fits)
    • Displays results in a Table (for all distributions), which can be exported as .csv file
    • Generates Python code set up with the best fit distribution: makes figure with pdf, cdf and sf

Use Distribution Analyser localy

Clone repository and run locally with Streamlit https://streamlit.io/:

$ git clone https://github.com/rdzudzar/DistributionAnalyser.git
$ cd DistributionAnalyser
$ streamlit run main.py

Requirements:

Code is written in Python 3.8.3, below are the packages which are used in the code:

  • streamlit >= 0.79.0
  • matplotlib >= 3.2.2
  • pandas >= 1.0.5
  • numpy >= 1.18.5
  • scipy >= 1.6.1
  • cmasher >= 1.5.10
  • bokeh >= 2.2.3

Structure

Distribution Analyser

├── main.py                  # Distribution Analyser page container
├── page_introduction.py     # 1st Page in the Main app
├── page_explore.py          # 2nd Page in the Main app
├── page_fit.py              # 3rd Page in the Main app
├── helper_functions.py      # Helper functions contain pre-made properties
├── README.rst
├── requirements.txt         # List of used packages
└── LICENSE
│
├── images
│   ├── logo_da.png           # App logo
│   └── 6 other .png          # Images used on the introduction page
├── sample_data
│   └── sample_da.csv         # Sample data for fitting
├── tests
│   ├── test_app.py           # Tests
│   ├── funcs_for_testing.py  # Copy of functions that are tested
│   └── __init__.py
├── .streamlit
│   └── config.toml          # Streamlit config file, limits file upload

Community guidelines

Distribution Analyser is an open-source and free-to-use, provided under the MIT licence. If you like Distribution Analyser, please share it, star repo and feel free to open issues for any bugs/requests.

You might also like...
The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Slack channel questions: http://slack.masoniteproject.com
The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Slack channel questions: http://slack.masoniteproject.com

NOTE: Masonite 2.3 is no longer compatible with the masonite-cli tool. Please uninstall that by running pip uninstall masonite-cli. If you do not unin

Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.

Readme web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applic

Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source

Bionic is fast. It's powered core python without any extra dependencies. Bionic offers stateful hot reload, allowing you to make changes to your code and see the results instantly without restarting your app or losing its state.

Fast, asynchronous and elegant Python web framework.
Fast, asynchronous and elegant Python web framework.

Warning: This project is being completely re-written. If you're curious about the progress, reach me on Slack. Vibora is a fast, asynchronous and eleg

Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

Tornado Web Server Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking ne

bottle.py is a fast and simple micro-framework for python web-applications.

Bottle: Python Web Framework Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module a

A micro web-framework using asyncio coroutines and chained middleware.

Growler master ' dev Growler is a web framework built atop asyncio, the asynchronous library described in PEP 3156 and added to the standard library i

Sierra is a lightweight Python framework for building and integrating web applications
Sierra is a lightweight Python framework for building and integrating web applications

A lightweight Python framework for building and Integrating Web Applications. Sierra is a Python3 library for building and integrating web applications with HTML and CSS using simple enough syntax. You can develop your web applications with Python, taking advantage of its functionalities and integrating them to the fullest.

FPS, fast pluggable server, is a framework designed to compose and run a web-server based on plugins.

FPS, fast pluggable server, is a framework designed to compose and run a web-server based on plugins. It is based on top of fastAPI, uvicorn, typer, and pluggy.

Comments
  • csv import

    csv import

    When my file is this

    tijden 56 18 37 15 30 34

    image (ignore the linenumbers ofcourse) This is shown

    image

    So I guess my file is not right or there is something wrong in the code?

    Kind regards

    opened by rcsmit 3
  • Add Poisson Distribution

    Add Poisson Distribution

    Great tool!

    I went to the website to try and use it to explore a Poisson Distribution and noticed it was missing! This is a function in Scipy so was wondering if it could be added?

    opened by jacobseiler 1
Releases(v1.0)
  • v1.0(Apr 1, 2021)

    v1.0 Distribution Analyser is a Web App that allows you to interactively explore continuous distributions from SciPy and fit distribution(s) to your data.

    Source code(tar.gz)
    Source code(zip)
Owner
Robert Dzudzar
Data Scientist and PhD Astrophysicist
Robert Dzudzar
Phoenix LiveView but for Django

Reactor, a LiveView library for Django Reactor enables you to do something similar to Phoenix framework LiveView using Django Channels. What's in the

Eddy Ernesto del Valle Pino 526 Jan 02, 2023
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

Tornado Web Server Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking ne

20.9k Jan 01, 2023
Light, Flexible and Extensible ASGI API framework

Starlite Starlite is a light, opinionated and flexible ASGI API framework built on top of pydantic and Starlette. Check out the Starlite documentation

Na'aman Hirschfeld 1.6k Jan 09, 2023
Endpoints is a lightweight REST api framework written in python and used in multiple production systems that handle millions of requests daily.

Endpoints Quickest API builder in the West! Endpoints is a lightweight REST api framework written in python and used in multiple production systems th

Jay Marcyes 30 Mar 05, 2022
Containers And REST APIs Workshop

Containers & REST APIs Workshop Containers vs Virtual Machines Ferramentas Podman: https://podman.io/ Docker: https://www.docker.com/ IBM CLI: https:/

Vanderlei Munhoz 8 Dec 16, 2021
Pyramid - A Python web framework

Pyramid Pyramid is a small, fast, down-to-earth, open source Python web framework. It makes real-world web application development and deployment more

Pylons Project 3.7k Dec 30, 2022
The comprehensive WSGI web application library.

Werkzeug werkzeug German noun: "tool". Etymology: werk ("work"), zeug ("stuff") Werkzeug is a comprehensive WSGI web application library. It began as

The Pallets Projects 6.2k Jan 01, 2023
easyopt is a super simple yet super powerful optuna-based Hyperparameters Optimization Framework that requires no coding.

easyopt is a super simple yet super powerful optuna-based Hyperparameters Optimization Framework that requires no coding.

Federico Galatolo 9 Feb 04, 2022
Restful API framework wrapped around MongoEngine

Flask-MongoRest A Restful API framework wrapped around MongoEngine. Setup from flask import Flask from flask_mongoengine import MongoEngine from flask

Close 525 Jan 01, 2023
Web APIs for Django. 🎸

Django REST framework Awesome web-browsable Web APIs. Full documentation for the project is available at https://www.django-rest-framework.org/. Fundi

Encode 24.7k Jan 03, 2023
An effective, simple, and async security library for the Sanic framework.

Sanic Security An effective, simple, and async security library for the Sanic framework. Table of Contents About the Project Getting Started Prerequis

Sunset Dev 72 Nov 30, 2022
Django Ninja - Fast Django REST Framework

Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints.

Vitaliy Kucheryaviy 3.8k Jan 02, 2023
PipeLayer is a lightweight Python pipeline framework

PipeLayer is a lightweight Python pipeline framework. Define a series of steps, and chain them together to create modular applications

greaterthan 64 Jul 21, 2022
A library that makes consuming a RESTful API easier and more convenient

Slumber is a Python library that provides a convenient yet powerful object-oriented interface to ReSTful APIs. It acts as a wrapper around the excellent requests library and abstracts away the handli

Sam Giles 597 Dec 13, 2022
A high-level framework for building GitHub applications in Python.

A high-level framework for building GitHub applications in Python. Core Features Async Proper ratelimit handling Handles interactions for you (

Vish M 3 Apr 12, 2022
Async Python 3.6+ web server/framework | Build fast. Run fast.

Sanic | Build fast. Run fast. Build Docs Package Support Stats Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allow

Sanic Community Organization 16.7k Dec 28, 2022
🔥 Fire up your API with this flamethrower

🔥 Fire up your API. Documentation: https://flama.perdy.io Flama Flama aims to bring a layer on top of Starlette to provide an easy to learn and fast

José Antonio Perdiguero 216 Dec 26, 2022
Distribution Analyser is a Web App that allows you to interactively explore continuous distributions from SciPy and fit distribution(s) to your data.

Distribution Analyser Distribution Analyser is a Web App that allows you to interactively explore continuous distributions from SciPy and fit distribu

Robert Dzudzar 46 Nov 08, 2022
A Python package to easily create APIs in Python.

API_Easy An Python Package for easily create APIs in Python pip install easy-api-builder Requiremnets: = python 3.6 Required modules -- Flask Docume

Envyre-Coding 2 Jan 04, 2022
Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.

Readme web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applic

2k Dec 31, 2022