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
An alternative serializer implementation for REST framework written in cython built for speed.

drf-turbo An alternative serializer implementation for REST framework written in cython built for speed. Free software: MIT license Documentation: htt

Mng 74 Dec 30, 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
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
aiohttp-ratelimiter is a rate limiter for the aiohttp.web framework.

aiohttp-ratelimiter aiohttp-ratelimiter is a rate limiter for the aiohttp.web fr

JGL Technologies 4 Dec 11, 2022
Try to create a python mircoservice framework.

Micro current_status: prototype. ... Python microservice framework. More in Document. You should clone this project and run inv docs. Install Not now.

修昊 1 Dec 07, 2021
🔥 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
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
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
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
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

⚓ 0 Mar 05, 2022
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
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 tool for quickly creating REST/HATEOAS/Hypermedia APIs in python

ripozo Ripozo is a tool for building RESTful/HATEOAS/Hypermedia apis. It provides strong, simple, and fully qualified linking between resources, the a

Vertical Knowledge 198 Jan 07, 2023
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
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
A simple todo app using flask and sqlachemy

TODO app This is a simple TODO app made using Flask. Packages used: DoodleCSS Special thanks to Chris McCormick (@mccrmx) :) Flask Flask-SQLAlchemy Fl

Lenin 1 Dec 26, 2021
NO LONGER MAINTAINED - A Flask extension for creating simple ReSTful JSON APIs from SQLAlchemy models.

NO LONGER MAINTAINED This repository is no longer maintained due to lack of time. You might check out the fork https://github.com/mrevutskyi/flask-res

1k Jan 04, 2023
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
Full duplex RESTful API for your asyncio web apps

TBone TBone makes it easy to develop full-duplex RESTful APIs on top of your asyncio web application or webservice. It uses a nonblocking asynchronous

TBone Framework 37 Aug 07, 2022
Goblet is an easy-to-use framework that enables developers to quickly spin up fully featured REST APIs with python on GCP

GOBLET Goblet is a framework for writing serverless rest apis in python in google cloud. It allows you to quickly create and deploy python apis backed

Austen 78 Dec 27, 2022