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
Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

Connexion Connexion is a framework that automagically handles HTTP requests based on OpenAPI Specification (formerly known as Swagger Spec) of your AP

Zalando SE 4.2k Jan 07, 2023
cirrina is an opinionated asynchronous web framework based on aiohttp

cirrina cirrina is an opinionated asynchronous web framework based on aiohttp. Features: HTTP Server Websocket Server JSON RPC Server Shared sessions

André Roth 32 Mar 05, 2022
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
A familiar HTTP Service Framework for Python.

Responder: a familiar HTTP Service Framework for Python Powered by Starlette. That async declaration is optional. View documentation. This gets you a

Taoufik 3.6k Dec 27, 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 Jan 08, 2023
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
Python implementation of the Javascript Object Signing and Encryption (JOSE) framework

Python implementation of the Javascript Object Signing and Encryption (JOSE) framework

Demonware 94 Nov 20, 2022
JustPy is an object-oriented, component based, high-level Python Web Framework

JustPy Docs and Tutorials Introduction JustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-en

927 Jan 08, 2023
Fully featured framework for fast, easy and documented API development with Flask

Flask RestPlus IMPORTANT NOTICE: This project has been forked to Flask-RESTX and will be maintained by by the python-restx organization. Flask-RESTPlu

Axel H. 2.7k Jan 04, 2023
A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs.

cx_Oracle_async A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. Easy to use , buy may not

36 Dec 21, 2022
Low code web framework for real world applications, in Python and Javascript

Full-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library.

Frappe 4.3k Dec 30, 2022
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
Microservice example with Python, Faust-Streaming and Kafka (Redpanda)

Microservices Orchestration with Python, Faust-Streaming and Kafka (Redpanda) Example project for PythonBenin meetup. It demonstrates how to use Faust

Lé 3 Jun 13, 2022
CherryPy is a pythonic, object-oriented HTTP framework. https://docs.cherrypy.org/

Welcome to the GitHub repository of CherryPy! CherryPy is a pythonic, object-oriented HTTP framework. It allows building web applications in much the

CherryPy 1.6k Dec 29, 2022
Web3.py plugin for using Flashbots' bundle APIs

This library works by injecting a new module in the Web3.py instance, which allows submitting "bundles" of transactions directly to miners. This is do

Flashbots 293 Dec 31, 2022
Asita is a web application framework for python based on express-js framework.

Asita is a web application framework for python. It is designed to be easy to use and be more easy for javascript users to use python frameworks because it is based on express-js framework.

Mattéo 4 Nov 16, 2021
Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints.

Flask Sugar is a web framework for building APIs with Flask, Pydantic and Python 3.6+ type hints. check parameters and generate API documents automatically. Flask Sugar是一个基于flask,pyddantic,类型注解的API框架

162 Dec 26, 2022
A framework that let's you compose websites in Python with ease!

Perry Perry = A framework that let's you compose websites in Python with ease! Perry works similar to Qt and Flutter, allowing you to create componen

Linkus 13 Oct 09, 2022
Web3.py plugin for using Flashbots' bundle APIs

This library works by injecting a new module in the Web3.py instance, which allows submitting "bundles" of transactions directly to miners. This is done by also creating a middleware which captures c

Georgios Konstantopoulos 294 Jan 04, 2023
Djask is a web framework for python which stands on the top of Flask and will be as powerful as Django.

Djask is a web framework for python which stands on the top of Flask and will be as powerful as Django.

Andy Zhou 27 Sep 08, 2022