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 Program to create a data type object
import numpy as np
# np.int16 is converted into a data type object.
print(np.dtype(np.int16))
Output:
int16Python
# Python Program to create a data type object
# containing a 32 bit big-endian integer
import numpy as np
# i4 represents integer of size 4 byte
# > represents big-endian byte ordering and < represents little-endian encoding.
# dt is a dtype object
dt = np.dtype('>i4')
print("Byte order is:",dt.byteorder)
print("Size is:",dt.itemsize)
print("Data type is:",dt.name)
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
# Python program to differentiate
# between type and dtype.
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 program for demonstrating
# the use of fields
import numpy as np
# A structured data type containing a 16-character string (in field ‘name’)
# and a sub-array of two 64-bit floating-point number (in field ‘grades’):
dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))])
# Data type of object with field grades
print(dt['grades'])
# Data type of object with field name
print(dt['name'])
Output:
('<f8', (2,))Python
# Python program to demonstrate
# the use of data type object with structured array.
import numpy as np
dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))])
# x is a structured array with names and marks of students.
# Data type of name of the student is np.unicode_ and
# data type of marks is np.float(64)
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 :
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4