NumPy - Array Attributes


Advertisements

In this chapter, we will discuss the various array attributes of NumPy.

ndarray.shape

This array attribute returns a tuple consisting of array dimensions. It can also be used to resize the array.

Example 1

import numpy as np 
a = np.array([[1,2,3],[4,5,6]]) 
print a.shape

The output is as follows −

(2, 3)

Example 2

# this resizes the ndarray 
import numpy as np 

a = np.array([[1,2,3],[4,5,6]]) 
a.shape = (3,2) 
print a 

The output is as follows −

[[1, 2] 
 [3, 4] 
 [5, 6]]

Example 3

NumPy also provides a reshape function to resize an array.

import numpy as np 
a = np.array([[1,2,3],[4,5,6]]) 
b = a.reshape(3,2) 
print b

The output is as follows −

[[1, 2] 
 [3, 4] 
 [5, 6]]

ndarray.ndim

This array attribute returns the number of array dimensions.

Example 1

# an array of evenly spaced numbers 
import numpy as np 
a = np.arange(24) 
print a

The output is as follows −

[0 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16 17 18 19 20 21 22 23] 

Example 2

# this is one dimensional array 
import numpy as np 
a = np.arange(24) 
a.ndim  

# now reshape it 
b = a.reshape(2,4,3) 
print b 
# b is having three dimensions

The output is as follows −

[[[ 0,  1,  2] 
  [ 3,  4,  5] 
  [ 6,  7,  8] 
  [ 9, 10, 11]]  
  [[12, 13, 14] 
   [15, 16, 17]
   [18, 19, 20] 
   [21, 22, 23]]] 

numpy.itemsize

This array attribute returns the length of each element of array in bytes.

Example 1

# dtype of array is int8 (1 byte) 
import numpy as np 
x = np.array([1,2,3,4,5], dtype = np.int8) 
print x.itemsize

The output is as follows −

1

Example 2

# dtype of array is now float32 (4 bytes) 
import numpy as np 
x = np.array([1,2,3,4,5], dtype = np.float32) 
print x.itemsize

The output is as follows −

4

numpy.flags

The ndarray object has the following attributes. Its current values are returned by this function.

Sr.No. Attribute & Description
1

C_CONTIGUOUS (C)

The data is in a single, C-style contiguous segment

2

F_CONTIGUOUS (F)

The data is in a single, Fortran-style contiguous segment

3

OWNDATA (O)

The array owns the memory it uses or borrows it from another object

4

WRITEABLE (W)

The data area can be written to. Setting this to False locks the data, making it read-only

5

ALIGNED (A)

The data and all elements are aligned appropriately for the hardware

6

UPDATEIFCOPY (U)

This array is a copy of some other array. When this array is deallocated, the base array will be updated with the contents of this array

Example

The following example shows the current values of flags.

import numpy as np 
x = np.array([1,2,3,4,5]) 
print x.flags

The output is as follows −

C_CONTIGUOUS : True 
F_CONTIGUOUS : True 
OWNDATA : True 
WRITEABLE : True 
ALIGNED : True 
UPDATEIFCOPY : False
Advertisements