[Numpy-discussion] numpy pprint?

Foad Sojoodi Farimani f.s.farimani at gmail.com
Wed Nov 7 04:16:14 EST 2018


Der All,

Here in this NoteBook
<https://numpypprint-fsfarimani.notebooks.azure.com/j/notebooks/pprint.ipynb>
I tried to compare my unicode implementation with Eric's HTML version plus
links to the discussions on different forums if you like to follow

For example:

[image: chrome_2018-11-07_10-15-20.png]

Best regards,
Foad


On Wed, Nov 7, 2018 at 9:24 AM Foad Sojoodi Farimani <f.s.farimani at gmail.com>
wrote:

> Dear Eric,
>
> In between your lines:
>
> On Wed, Nov 7, 2018 at 7:23 AM Eric Wieser <wieser.eric+numpy at gmail.com>
> wrote:
>
>> Foad:
>>
>> having the functionality for conventional consols would also help
>>
>> I think the most important thing in a conventional console is to output
>> the array in a format that allows you to reconstruct the object. That makes
>> it way easier for people to reproduce each others problems without having
>> their full dataset. If your goal is to visualize complex arrays, I think
>> the console is a pretty limited tool, and numpy already does as much as is
>> worthwhile there.
>>
> I agree with most of what you say:
>
>    1. the current representation of numpy array with print() is of course
>    already there and it is not my goal to replace it. but rather add something
>    like Sympy's pprint function, an alternative representation.
>    2. the reason I'm using console is first because there are people who
>    use it and secondly because I have no idea how to do what you are doing :))
>    there is room for both I think
>
> I don’t think putting everything in boxes is helping. it is confusing. I
>> would rather having horizontal and vertical square brackets represent each
>> nested array
>>
>> See my update at the same link, which shows an alternative which draws
>> those brackets as you envi
>>
> wow this is awesome:
>
>
> [image: 2018-11-07_09-07-37.gif]
>
> I wonder if you could make this the default view without the need of those
> other inputs or the lamda function? this is almost 80% of what I had in mind
>
>
>
>> it would be awesome if in IPython/Jupyter hovering over an element a
>> popup would show the index
>>
>> It… already does?
>>
> it doesn't on my browser :(
>
>> to show L R U P or combination of these plus some numbers
>>
>> I don’t know what you mean by this.
>>
> imaging the Pandas .head() and .tail functions which accept positive
> integer inputs to show specific number of rows. now our print function
> could have  two inputs one string which should be L for left, R for right,
> U for up and D for down. respectively UL, UR, DL and DR for corners.
> another input is a tuple of integers which in the case of U,D,L,R is only
> one integer showing the number of rows or columns. and in the case of UL,
> UR, DL, DR two integers showing the number of rows and columns in that
> specific corner to be shown.
>
> What could be added:
>
>    1. adding slide bars for big datasets
>    2. compressing the result according to the terminals dimensions (as
>    Pandas does)
>    3. editing the variables like Spyders variable explorer
>    4. adding dimensions or rows/columns within a dimension or elements in
>    rows/columns
>
> Again thanks a lot for your help. I appreciate your kind support.
>
> Best,
> Foad
>
> Eric
>>
>> On Tue, 6 Nov 2018 at 00:56 Foad Sojoodi Farimani f.s.farimani at gmail.com
>> <http://mailto:f.s.farimani@gmail.com> wrote:
>>
>> Wow, this is awesome.
>>> Some points though:
>>>
>>>    - not everybody uses IPython/Jupyter having the functionality for
>>>    conventional consols would also help. something like
>>>    Sypy's init_printing/init_session which smartly chooses the right
>>>    representation considering the terminal.
>>>    - I don't think putting everything in boxes is helping. it is
>>>    confusing. I would rather having horizontal and vertical square brackets
>>>    represent each nested array
>>>    - it would be awesome if in IPython/Jupyter hovering over an element
>>>    a popup would show the index
>>>    - one could read the width and height of the terminal and other
>>>    options I mentioned in reply Mark to show L R U P or combination of these
>>>    plus some numbers (similar to Pandas .head .tail) methods and then show the
>>>    rest by unicod 3dot
>>>
>>> P.S. I had no idea our university Microsoft services also offers Azure
>>> Notebooks awesome :P
>>>
>>> F.
>>>
>>> On Tue, Nov 6, 2018 at 9:45 AM Eric Wieser <wieser.eric+numpy at gmail.com>
>>> wrote:
>>>
>>>> Here's how that could look
>>>>
>>>>
>>>> https://numpyintegration-ericwieser.notebooks.azure.com/j/notebooks/pprint.ipynb
>>>>
>>>> Feel free to play around and see if you can produce something more
>>>> useful
>>>>
>>>>
>>>>
>>>> On Mon, 5 Nov 2018 at 23:28 Foad Sojoodi Farimani <
>>>> f.s.farimani at gmail.com> wrote:
>>>>
>>>>> It is not highking if I asked for it :))
>>>>> for IPython/Jupyter using Markdown/LaTeX would be awesome
>>>>> or even better using HTML to add sliders just like Pandas...
>>>>>
>>>>> F.
>>>>>
>>>>> On Tue, Nov 6, 2018 at 6:51 AM Eric Wieser <
>>>>> wieser.eric+numpy at gmail.com> wrote:
>>>>>
>>>>>> Hijacking this thread while on the topic of pprint - we might want to
>>>>>> look into a table-based `_html_repr_` or `_latex_repr_` for use in ipython
>>>>>> - where we can print the full array and let scrollbars replace ellipses.
>>>>>>
>>>>>> Eric
>>>>>>
>>>>>> On Mon, 5 Nov 2018 at 21:11 Mark Harfouche <mark.harfouche at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Foad,
>>>>>>>
>>>>>>> Visualizing data is definitely a complex field. I definitely feel
>>>>>>> your pain.
>>>>>>> Printing your data is but one way of visualizing it, and probably
>>>>>>> only useful for very small and constrained datasets.
>>>>>>> Have you looked into set_printoptions
>>>>>>> <https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.set_printoptions.html>
>>>>>>> to see how numpy’s existing capabilities might help you with your
>>>>>>> visualization?
>>>>>>>
>>>>>>> The code you showed seems quite good. I wouldn’t worry about
>>>>>>> performance when it comes to functions that will seldom be called in tight
>>>>>>> loops.
>>>>>>> As you’ll learn more about python and numpy, you’ll keep expanding
>>>>>>> it to include more use cases.
>>>>>>> For many of my projects, I create small submodules for visualization
>>>>>>> tailored to the specific needs of the particular project.
>>>>>>> I’ll try to incorporate your functions and see how I use them.
>>>>>>>
>>>>>>> Your original post seems to have some confusion about C Style vs F
>>>>>>> Style ordering. I hope that has been resolved.
>>>>>>> There is also a lot of good documentation
>>>>>>>
>>>>>>> https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html#numpy-for-matlab-users-notes
>>>>>>> about transitioning from matlab.
>>>>>>>
>>>>>>> Mark
>>>>>>>
>>>>>>> On Mon, Nov 5, 2018 at 4:46 PM Foad Sojoodi Farimani <
>>>>>>> f.s.farimani at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello everyone,
>>>>>>>>
>>>>>>>> Following this question
>>>>>>>> <https://stackoverflow.com/q/53126305/4999991>, I'm convinced that
>>>>>>>> numpy ndarrays are not MATLAB/mathematical multidimentional matrices and I
>>>>>>>> should stop expecting them to be. However I still think it would have a lot
>>>>>>>> of benefit to have a function like sympy's pprint to pretty print.
>>>>>>>> something like pandas .head and .tail method plus  .left .right .UpLeft
>>>>>>>> .UpRight .DownLeft .DownRight methods. when nothing mentioned it would show
>>>>>>>> 4 corners and put dots in the middle if the array is to big for the
>>>>>>>> terminal.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Foad
>>>>>>>> _______________________________________________
>>>>>>>> NumPy-Discussion mailing list
>>>>>>>> NumPy-Discussion at python.org
>>>>>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> NumPy-Discussion mailing list
>>>>>>> NumPy-Discussion at python.org
>>>>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>>>>
>>>>>> _______________________________________________
>>>>>> NumPy-Discussion mailing list
>>>>>> NumPy-Discussion at python.org
>>>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>>>
>>>>> _______________________________________________
>>>>> NumPy-Discussion mailing list
>>>>> NumPy-Discussion at python.org
>>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>>
>>>> _______________________________________________
>>>> NumPy-Discussion mailing list
>>>> NumPy-Discussion at python.org
>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at python.org
>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20181107/46a651d0/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chrome_2018-11-07_10-15-20.png
Type: image/png
Size: 28101 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20181107/46a651d0/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2018-11-07_09-07-37.gif
Type: image/gif
Size: 37249 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20181107/46a651d0/attachment-0001.gif>


More information about the NumPy-Discussion mailing list