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
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
Otter is framework for creating microservices in Flask like fassion using RPC communication via message queue.

Otter Framework for microservices. Overview Otter is framework for creating microservices in Flask like fassion using RPC communication via message qu

Volodymyr Biloshytskyi 4 Mar 23, 2022
Pulumi-checkly - Checkly Pulumi Provider With Python

🚨 This project is still in very early stages and is not stable, use at your own

Checkly 16 Dec 15, 2022
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
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

Bottle Micro Web Framework 7.8k Dec 31, 2022
Quiz Web App with Flask and MongoDB as the Databases

quiz-app Quiz Web Application made with flask and mongodb as the Databases Before you run this application, change the inside MONGODB_URI ( in config.

gibran abdillah 7 Dec 14, 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
Flask like web framework for AWS Lambda

lambdarest Python routing mini-framework for AWS Lambda with optional JSON-schema validation. ⚠️ A user study is currently happening here, and your op

sloev / Johannes Valbjørn 91 Nov 10, 2022
A beginners course for Django

The Definitive Django Learning Platform. Getting started with Django This is the code from the course "Getting Started With Django", found on YouTube

JustDjango 288 Jan 08, 2023
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
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
The little ASGI framework that shines. ?

✨ The little ASGI framework that shines. ✨ Documentation: https://www.starlette.io/ Community: https://discuss.encode.io/c/starlette Starlette Starlet

Encode 7.7k Jan 01, 2023
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
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
A comprehensive reference for all topics related to building and maintaining microservices

This pandect (πανδέκτης is Ancient Greek for encyclopedia) was created to help you find and understand almost anything related to Microservices that i

Ivan Bilan 64 Dec 09, 2022
An easy-to-use high-performance asynchronous web framework.

中文 | English 一个易用的高性能异步 web 框架。 Index.py 文档 Index.py 实现了 ASGI3 接口,并使用 Radix Tree 进行路由查找。是最快的 Python web 框架之一。一切特性都服务于快速开发高性能的 Web 服务。 大量正确的类型注释 灵活且高效的

Index.py 264 Dec 31, 2022
Lemon is an async and lightweight API framework for python

Lemon is an async and lightweight API framework for python . Inspired by Koa and Sanic .

Joway 29 Nov 20, 2022
Python Wrapper for interacting with the Flutterwave API

Python Flutterwave Description Python Wrapper for interacting with the Flutterwa

William Otieno 32 Dec 14, 2022
Dazzler is a Python async UI/Web framework built with aiohttp and react.

Dazzler is a Python async UI/Web framework built with aiohttp and react. Create dazzling fast pages with a layout of Python components and bindings to update from the backend.

Philippe Duval 17 Oct 18, 2022
WAZO REST API for the call management of the C4 infrastructure

wazo-router-calld wazo-router-calld provides REST API for the C4 infrastructure. Installing wazo-router-calld The server is already provided as a part

Wazo Platform 4 Dec 21, 2022