Data type Object (dtype) in NumPy Python (original) (raw)

Last Updated : 11 Aug, 2021

Every ndarray has an associated data type (dtype) object. This data type object (dtype) informs us about the layout of the array. This means it gives us information about:

The values of a ndarray are stored in a buffer which can be thought of as a contiguous block of memory bytes. So how these bytes will be interpreted is given by the dtype object.

1. Constructing a data type (dtype) object: A data type object is an instance of the NumPy.dtype class and it can be created using NumPy.dtype.

Parameters:

Python

import numpy as np

dt = np.dtype([( 'name' , np.unicode_, 16 ), ( 'grades' , np.float64, ( 2 ,))])

x = np.array([( 'Sarah' , ( 8.0 , 7.0 )), ( 'John' , ( 6.0 , 7.0 ))], dtype = dt)

print (x[ 1 ])

print ( "Grades of John are: " ,x[ 1 ][ 'grades' ])

print ( "Names are: " ,x[ 'name' ])

Output:

int16

Python

Output:

Byte order is: > Size is: 4 Name of data type is: int32

The type specifier (i4 in the above case) can take different forms:

Note:

dtype is different from type. 

Python

import numpy as np

a = np.array([ 1 ])

print ( "type is: " , type (a))

print ( "dtype is: " ,a.dtype)

Output:

type is:     dtype is:  int32

2. Data type Objects with Structured Arrays: Data type objects are useful for creating structured arrays. A structured array is one that contains different types of data. Structured arrays can be accessed with the help of fields.
A field is like specifying a name to the object. In the case of structured arrays, the dtype object will also be structured.

Python

import numpy as np

dt = np.dtype([( 'name' , np.unicode_, 16 ), ( 'grades' , np.float64, ( 2 ,))])

print (dt[ 'grades' ])

print (dt[ 'name' ])

Output:

('<f8', (2,))

Python

import numpy as np

dt = np.dtype([( 'name' , np.unicode_, 16 ), ( 'grades' , np.float64, ( 2 ,))])

x = np.array([( 'Sarah' , ( 8.0 , 7.0 )), ( 'John' , ( 6.0 , 7.0 ))], dtype = dt)

print (x[ 1 ])

print ( "Grades of John are: " ,x[ 1 ][ 'grades' ])

print ( "Names are: " ,x[ 'name' ])

Output:

('John', [ 6.,  7.]) Grades of John are:  [ 6.  7.] Names are:  ['Sarah' 'John']

References :

Similar Reads

Introduction







Creating NumPy Array













NumPy Array Manipulation


















Matrix in NumPy


















Operations on NumPy Array




Reshaping NumPy Array















Indexing NumPy Array






Arithmetic operations on NumPyArray










Linear Algebra in NumPy Array