FYI you might take a look at the Jupyterlab variable inspector work being tracked here: https://github.com/jupyterlab/jupyterlab/issues/443
Seems like there could be some overlap with what you are trying to do. Cheers, Michael On Mon, Sep 17, 2018 at 7:42 PM, Adam Rule <[email protected]> wrote: > Great point Brian. For prototyping's sake monkey patching should be enough > to test if the interaction is valuable or not. > > > On Monday, September 17, 2018 at 4:45:19 PM UTC-7, ellisonbg wrote: >> >> I think it could be regular python code that uses the Jupyter display >> system to display the information. The challenge is to figure out how to >> detect the pandas function calls and add the needed logic before and after. >> A good starting point might be to just monkey patch the relevant pandas >> calls and wrap them in the logic you need. That would allow you to get >> started quickly and explore the problem space. >> >> On Mon, Sep 17, 2018 at 3:40 PM Adam Rule <[email protected]> wrote: >> >>> I have noticed that a number of Jupyter users call df.head(), df.shape, >>> df.describe(), or something similar almost every time they load or >>> manipulate a dataframe to inspect what their manipulation did. I would like >>> to develop an extension or kernel magic that prints useful information to a >>> cell's output based on the pandas function called in that cell. For >>> example, running pd.read_csv() might automatically print the shape and >>> column names of the loaded dataframe and df.drop_duplicates() might >>> automatically print how many duplicates were dropped and how many unique >>> rows remain. >>> >>> How might I architect such an extension (e.g., a JupyterLab extension, >>> an iPython kernel magic, or something else)? I think I would need to detect >>> when certain pandas functions are about to be run by the kernel and gather >>> information about the dataframe immediately before and after execution. >>> Would that even be feasible? >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Project Jupyter" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/jupyter/9e1dfb92-87e0-4a8b-b170-370ab7cfabc7%40googlegroups.com >>> <https://groups.google.com/d/msgid/jupyter/9e1dfb92-87e0-4a8b-b170-370ab7cfabc7%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> Brian E. Granger >> Associate Professor of Physics and Data Science >> Cal Poly State University, San Luis Obispo >> @ellisonbg on Twitter and GitHub >> [email protected] and [email protected] >> > -- > You received this message because you are subscribed to the Google Groups > "Project Jupyter" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/jupyter/69c48c2c-2c9f-4ce1-8491-5c98399eb8ff%40googlegroups.com > <https://groups.google.com/d/msgid/jupyter/69c48c2c-2c9f-4ce1-8491-5c98399eb8ff%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Michael Milligan, Ph.D. | Supercomputing Institute Assistant Director for | University of Minnesota Application Development | [email protected] www.msi.umn.edu/staff/milligan | Phone: 612-624-8857 -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CAPuy8gpXtbZAyBLTncUg7Mf-f%2BERcapDnLxNC_OAb2fR%2B%2BAUqw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
