Package: jupyter-Pandas-GUI
Pandas_GUI (aka: jupyter_Pandas_GUI)Introduction|Current Features|Wishlist|Usage|Installation|Change Log|Issues or comments|License|PyPi linkDocumentation / WebsiteIntroduction:This package provides GUI tools to help the user construct Pandas and Python
expressions
to create things such as new calculated columns, plots or fits. The tools are
meant to run in an interactive Jupyter notebook inclassic Jupyter,Jupyter LabandGoogle Colab. All tools are based on ipywidgets widgets.These tools are meant to help the user learn how to construct the commands.
They are intended for new or occasional users of Pandas. However,
sophisticated users may find them useful for doing simple one-off tasks where
the ability to choose python objects from menus can reduce errors.Current Features:The user can pass the GUI tools a list of Pandas
DataFrames to work with. If nothing is passed, the GUI will look for
Pandas DataFrames in the interactive session. In classic Jupyter the whole GUI
and the Jupyter cell that created it are deleted when done. This leaves
only the code that was generated by the GUI and the results of running the
generated code. In Colab and Lab the code is generated in an editable text
box. In Lab it can be run by clicking a button. In Colab it is best to copy
the code into a new cell before running it.The generated code contains comments meant to help new users
understand the code.Currently defined GUIs:new_pandas_column_GUI(): A GUI with four steps to lead the user through
formulating an expression for a new column.plot_pandas_GUI(): A GUI with four steps to lead the user through plotting
Pandas data as a scatter or line plot using plotly.fit_pandas_GUI(): A GUI with six steps to lead the user through fitting
Pandas data to a line, polynomial, exponential, Gaussian or sine function.Selecting regions of the data set to fit does NOT currently
work in Colab.Wishlist:GUIs for plots beyond scatter/line plots.Usage:If thejupyter_Pandas_GUIis installed in your Jupyter/Python environment
start by importing it:from pandas_GUI import *When you want to use a particular GUI issue the appropriate command. Currently:new_pandas_column_GUI()orplot_pandas_GUI()orfit_pandas_GUI()See thedocumentationfor examples,
more details and information about passing dataframes that are not at the
root of the interactive namespace or presenting the user with alternative names
for the dataframes. There is also an option to make columns containing text
available. By default they are ignored.Installation:Installation using pip into a virtual environment is recommended.ProductionIf not installed, install pipenv:$ pip3 install --user pipenv, or your
favorite environment management system. You may
need to add~/.local/binto yourPATHto makepipenvavailable in your command shell. More discussion:The Hitchhiker's Guide to Python.Navigate to the directory where this package will be installed.Start a shell in the environment$ pipenv shell.Install using pip.pip install jupyter-Pandas-GUI. This will install
Jupyter into the same virtual
environment if you do not already have it on your machine. If Jupyter is already
installed the virtual environment will use the existing installation. This takes
a long time on a Raspberry Pi 3B+ or older. It will not run on a 3B+
without at least 1 GB of swap. See:Build Jupyter on a Pi.Still within the environment shell test this by starting jupyterjupyter notebookorJupyter lab. The version of Jupyter requested should
launch in your browser.Open a new notebook using the default (Python 3) kernel.In the first cell import the pandas_GUI module:from pandas_GUI import *To try:Create some Pandas DataFrames in the notebook.Use the commandnew_pandas_column_GUI()to start the GUI.It will search for the DataFrames you created.Follow the steps to create a new column in one of your
DataFrames.OptionalYou can make this environment available to an alternate Jupyter install as a special kernel when you are the user.Make sure you are running in your virtual environment$ pipenv shellin the directory for  virtual
environment will do that.Issue the command to add this as a kernel to your personal space:$ python -m ipykernel install --user --name=<name-you-want-for-kernel>.More information is available in the Jupyter/Ipython documentation. A simple tutorial from Nikolai Jankiev
(Parametric Thoughts) can be foundhere.DevelopmentSimply replace$ pip install jupyter-Pandas-GUIwith$ pip  install -e ../jupyter_Pandas_GUIin theProductioninstructions.Change Log0.8.0 (2023-6-21)In Jupyter Lab results of running code now replace the GUI rather than
appearing in the Console.Colab behavior has been inconsistent. To avoid problems for the time being
the user is required to copy the code from the textbox it is created in
and paste it into an empty code cell to run it.BUG FIX: collapsed "code that was run" box in Lab now keeps raw html
codes, so when copied and pasted output formatting is maintained.Changes to avoid warnings caused by JSON having no representation for
floating point infinity and not-a-number.Requirements updates to reflect changes in the Jupyter ecosystem.Documentation updates to reflect changes.0.7.1 (2022-12-18)Documentation fixes and link updates for mybinder.org launches.Updates to requirements.0.7.0GUIs now also work in Jupyter Lab and Google Colab, although less
elegently than in classic Jupyter. Only the fit range selection tab
does not yet work in Google Colab.Some minor bug fixes and clarification of instructions.More and better comments in generated code.Replacement of notebook cell javascript tools with those from JPSLUtils
is complete.0.6.2.1 Fix for python move ofIterabletocollections.abc0.6.2Can now pass dataframes to the GUIs and they will search for additional
dataframes in the user namespace. Search can be turned off.Fixed edge case where GUI fit range picking did nothing.0.6.1 fixedfit_pandas_GUI()mishandling of user friendly names for the
data frames.0.6.0Documentation (Examples and API).Addition of fitting GUI.Minor bug and typo fixes.Images show up on Pypi page.0.5.2Widget states autosaved when a new plot is made.Began making use ofJPSLUtils.0.5.1Possible to use pandas dataframes in namespaces other than the
user global namespace.Readme updates.0.5.0 Initial beta release.Issues or commentsJupyterPhysSciLab/jupyter_Pandas_GUI/issuesKnown issuesIn Google Colabratory images in point styles buttons do not show up. This
is a related to a knownissue with
Colab. Fix will
depend on updates to Colab.In Google Colabratory typset rendering of Latex in widgets is hit or miss.
It works most of the time in regular outputs and for plots.This software is distributed under the GNU V3 licenseThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.Copyright - Jonathan Gutow, 2021, 2022.