Skip to content
pythoneo

Pythoneo

Online How to Python stuff

Incredible trick on how to reshape to automatic value of dimension in Numpy

Posted on April 12, 2021September 28, 2023 By Pythoneo

Let’s learn how to reshape to automatic value of dimension in Numpy Python library.
Numpy automatic dimension reshape

Why you need the trick

You may need this trick when:

  • you don’t know the size of the base array
  • you expect base array to change size
  • you don’t know which value of dimension to put
  • See also  How to Calculate the Determinant of a Matrix in Numpy

    The trick is:

    put -1 as a value!
    
    

    How to do the trick

    See the example code:

    import numpy as np
    my_array = np.random.random([6, 6])
    print(f'The original array: \n {my_array}')
    
    reshaped_array = my_array.reshape(2, -1, 3)
    print(f'The modified array: \n {reshaped_array}')
    
    

    As you can see I put reshape(2, -1, 3) and it worked. Numpy automatically guessed that it should be 6 instead of -1.

    See also  How to generate Cauchy Matrix from arrays in Numpy?

    Remember: you can use -1 only once!

    When to use the trick

    You can use the `-1` value to automatically resize Numpy arrays in the following cases:

    When you don’t know the size of the base array.
    When you expect the base array to change size.
    When you don’t know which value of dimension to put.

    See also  How to convert numpy to xyz file?
    numpy Tags:array, dimension, reshape

    Post navigation

    Previous Post: How to swap rows in Numpy array?
    Next Post: Ultimate tutorial on how to round in Numpy

    Categories

    • bokeh (1)
    • Django (5)
    • matplotlib (11)
    • numpy (98)
    • OpenCV (6)
    • Pandas (3)
    • paramiko (11)
    • Pillow (3)
    • Plotly (6)
    • Python (28)
    • Scipy (4)
    • Seaborn (10)
    • statistics (7)
    • Tkinter (7)
    • turtle (2)

    RSS RSS

    • Creating Histograms with Plotly in Python
    • OpenCV FindContours: Detecting and Analyzing Objects in Images
    • How to create a simple animation in Tkinter
    • Adaptive Thresholding with OpenCV
    • How to install and use paramiko for SSH connections in Python
    • How to automate file transfers with paramiko and SFTP
    • How to Execute Remote Commands with Paramiko and SSHClient
    • Handling Paramiko Errors and Timeouts
    • How to use paramiko with multiprocessing and threading
    • Creating Interactive Bar Charts with Plotly in Python

    Tags

    arithmetic mean array axis button calculations chart column conversion count data type dictionary dimension draw error files fill float generate grid GUI image index integer list matrix max mean min mode multiply normal distribution plot random reshape rotate round rows size string sum test text time type zero

    Copyright © 2023 Pythoneo.

    Powered by PressBook WordPress theme

    We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
    Cookie settingsACCEPT
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Always Enabled
    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
    Non-necessary
    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
    SAVE & ACCEPT
    Go to mobile version