1

I am experimenting the different dimensions one can have in an array using ndim().

x=np.arange(0,100,1).reshape(1,20,5)

The shape is:

[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]
  [10 11 12 13 14]
  [15 16 17 18 19]
  [20 21 22 23 24]
  [25 26 27 28 29]
  [30 31 32 33 34]
  [35 36 37 38 39]
  [40 41 42 43 44]
  [45 46 47 48 49]
  [50 51 52 53 54]
  [55 56 57 58 59]
  [60 61 62 63 64]
  [65 66 67 68 69]
  [70 71 72 73 74]
  [75 76 77 78 79]
  [80 81 82 83 84]
  [85 86 87 88 89]
  [90 91 92 93 94]
  [95 96 97 98 99]]]

After, print x.ndim shows the array dimension is 3

I cannot visualize why the dimension is 3.

How does the shapes of respective arrays look like with dimensions 0,1,2,3,4,5......?

4
  • If you had done .reshape(20,5) then there would be 2 dimensions, and if you had done .reshape(1,1,20,5) there would be 4 dimensions, etc. Commented Jan 19, 2014 at 18:24
  • Your numpy array had 3 dimensions but the content of the array is only 2 dimensional because one of the array dimensions has unit length. Commented Jan 19, 2014 at 22:16
  • @Spencer putting it simply,, would the number of arguments in the reshape function determine the dimension of the array? Commented Jan 20, 2014 at 10:24
  • @user3211991 Yes. Just keep in mind that the new shape must be compatible with the total number of elements in the original array, as explained in the reshape documentation. Commented Jan 20, 2014 at 14:33

1 Answer 1

2

A simply way to count dimension is counting [ in the output. One [ for one dimension. Here you have three [s, therefore you have 3 dimension. Since one of the dimension is 1, you may be mislead. Here is another example:

x=np.arange(0,24,1).reshape(2,2,6)

Then, x is

array([[[ 0,  1,  2,  3,  4,  5],
        [ 6,  7,  8,  9, 10, 11]],

       [[12, 13, 14, 15, 16, 17],
        [18, 19, 20, 21, 22, 23]]])

Now, it is clear that x is a 3 dimension array.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.