All Projects → tirthajyoti → Ds With Pysimplegui

tirthajyoti / Ds With Pysimplegui

Licence: mit
Data science and Machine Learning GUI programs/ desktop apps with PySimpleGUI package

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ds With Pysimplegui

Sciblog support
Support content for my blog
Stars: ✭ 694 (+646.24%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science, analytics
Pba
Efficient Learning of Augmentation Policy Schedules
Stars: ✭ 461 (+395.7%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Phormatics
Using A.I. and computer vision to build a virtual personal fitness trainer. (Most Startup-Viable Hack - HackNYU2018)
Stars: ✭ 79 (-15.05%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+1265.59%)
Mutual labels:  artificial-intelligence, data-science, analytics
Data Science
Collection of useful data science topics along with code and articles
Stars: ✭ 315 (+238.71%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (+309.68%)
Mutual labels:  jupyter-notebook, data-science, analytics
Machine learning refined
Notes, examples, and Python demos for the textbook "Machine Learning Refined" (published by Cambridge University Press).
Stars: ✭ 750 (+706.45%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Cryptocurrency Price Prediction
Cryptocurrency Price Prediction Using LSTM neural network
Stars: ✭ 271 (+191.4%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Machine Learning From Scratch
Succinct Machine Learning algorithm implementations from scratch in Python, solving real-world problems (Notebooks and Book). Examples of Logistic Regression, Linear Regression, Decision Trees, K-means clustering, Sentiment Analysis, Recommender Systems, Neural Networks and Reinforcement Learning.
Stars: ✭ 42 (-54.84%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Computervision Recipes
Best Practices, code samples, and documentation for Computer Vision.
Stars: ✭ 8,214 (+8732.26%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Data Science Best Resources
Carefully curated resource links for data science in one place
Stars: ✭ 1,104 (+1087.1%)
Mutual labels:  artificial-intelligence, data-science, analytics
Machine Learning For Trading
Code for Machine Learning for Algorithmic Trading, 2nd edition.
Stars: ✭ 4,979 (+5253.76%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Datascience course
Curso de Data Science em Português
Stars: ✭ 294 (+216.13%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Agile data code 2
Code for Agile Data Science 2.0, O'Reilly 2017, Second Edition
Stars: ✭ 413 (+344.09%)
Mutual labels:  jupyter-notebook, data-science, analytics
Introduction Datascience Python Book
Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications
Stars: ✭ 275 (+195.7%)
Mutual labels:  jupyter-notebook, data-science, analytics
Suspeitando
Projeto de análise de contratos com suspeita de superfaturamento e má qualidade na prestação de serviços.
Stars: ✭ 76 (-18.28%)
Mutual labels:  jupyter-notebook, data-science, analytics
Awesome Python Applications
💿 Free software that works great, and also happens to be open-source Python.
Stars: ✭ 13,275 (+14174.19%)
Mutual labels:  application, jupyter-notebook, gui
Gophernotes
The Go kernel for Jupyter notebooks and nteract.
Stars: ✭ 3,100 (+3233.33%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Pandas Profiling
Create HTML profiling reports from pandas DataFrame objects
Stars: ✭ 8,329 (+8855.91%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science
Mit Deep Learning
Tutorials, assignments, and competitions for MIT Deep Learning related courses.
Stars: ✭ 8,912 (+9482.8%)
Mutual labels:  artificial-intelligence, jupyter-notebook, data-science

DS-with-PySimpleGUI

Dr. Tirthajyoti Sarkar, Fremont, CA

Data science GUI programs with awesome PySimpleGUI package.


What is PySimpleGUI and what is this repo?

As per their website, ___"Python GUI For Humans - Transforms tkinter, Qt, Remi, WxPython into portable people-friendly Pythonic interfaces"___. In this repo, I specifically focus on creating simple demo programs related to data science (simple analytics, statistical modeling and visualizations, basic machine learning) using this powerful GUI building tool.

Requirements

Install PySimpleGUI by,

pip install pysimplegui

You will also need,

  • Numpy
  • Pandas
  • Matplotlib
  • Scikit-learn
  • Seaborn

etc. to run the demo codes.

A very simple random integer generator app

Here is the code to program this app,

import PySimpleGUI as sg
import numpy as np

# Update function
def update():
    r = np.random.randint(1,100)
    text_elem = window['-text-']
    text_elem.update("This is a random integer: {}".format(r))

# Define the window's contents i.e. layout
layout = [[sg.Button('Generate',enable_events=True, key='-FUNCTION-', font='Helvetica 16')],
         [sg.Text('This is a random integer:', size=(25, 1), key='-text-', font='Helvetica 16')]]

# Create the window
window = sg.Window('Generate random integer', layout, size=(350,100))

# Event loop
while True:
    event, values = window.read()
    if event in (sg.WIN_CLOSED, 'Exit'):
        break
    if event == '-FUNCTION-':
        update()

# Close the window i.e. release resource
window.close()

When you save this code in a Python script and run it, you will see a simple window pop up where you can click on a button to call the update function as many times as you want (note the while True loop in the code for this infinite loop action) and generate a random integer between 1 and 99.

genrandom

Although this is a very simple code, it features,

  • layout (with styling arguments e.g. size and font) and a window
  • a button element which calls an external function (event)
  • the function updating a text element of the window object

We can essentially follow the same path and add more layers of layout, events, logic, and widgets to make powerful data science apps.


App to show other widgets (FontUpdate.py)

Just run with python FontUpdate.py command and you will see this window pop up where you can dynamically update the font of the text. Here is the demo video,

fontupdate

This app gets you familiar with other widgets available,

  • slider
  • checkboxes

A quadratic equation solver

Just run with python QuadraticEquation.py command and you will see this window pop up where you can enter coefficients of a quadratic equation and get the solution (even if the roots turn out to be complex numbers!)

quadratic


Demo of SimpleDataFrame.py (Pandas DataFrame app)

There are both Jupyter notebooks and .PY scripts. The simplest way to run a GUI is to execute the .PY scripts, e.g.

python SimpleDataFrame.py

Input file

At the start, it will ask you for a dataset file (a CSV)

input

File browser

When you click on the 'Browse' button, it will show a file browser dialog first. Make sure you select the correct dataset for this demo from under the data directory.

browser

Prompts

After you select the cars.csv, you will see other prompts popping up,

prompts

Dataset

If you click 'Yes' on that last prompt, you will see the dataset that was read in a new window,

data

Descriptive stats

After you close that window, a new popup will ask if you want to see the descriptive statistics about this dataset. If you click 'Yes', then you will see something like this,

stat

A plot

After you close that window, another popup will ask if you want to see a sample plot. If you click 'Yes', then you will see something like this,

plot

Play with the notebooks if you like

If you want to experiment with the code, you can look at the Notebooks and play with them.


Random scatter plots

Generate as many random scatter plots as you wish.

drawrandom


Polynomial fitting

A simple 2nd degree polynomial fitting app wher you can adjust the noise level of the randomly generated data.

polyfit


A Scikit-learn model fitting example

We build a simple app which lets you load the Pima Indians diabetes dataset and fit a Random Forest model to this data using Scikit-learn in the background.

pima


PySimpleGUI website

Read the docs here

Github repo

Cool demos

Use Qt Designer to build complex forms

Qt Desginer is a popular visual aid for building complex forms for Python GUI programming. You can build PySimpleGUI comppatible code with Qt Designer by using an intermediary - PySimpleGUIDesigner.

Here is the Github for that program.

And, here is an YouTube tutorial on how to use it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].