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.

Reply via email to