Data type Object (dtype) in NumPy Python
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:
- Type of the data (integer, float, Python object, etc.)
- Size of the data (number of bytes)
- The byte order of the data (little-endian or big-endian)
- If the data type is a sub-array, what is its shape and data type?
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.
- obj: Object to be converted to a data-type object.
- align: bool, optional
Add padding to the fields to match what a C compiler would output for a similar C-struct.
- copy: bool, optional
Make a new copy of the data-type object. If False, the result may just be a reference to a built-in data-type object.
Byte order is: > Size is: 4 Name of data type is: int32
The type specifier (i4 in the above case) can take different forms:
- b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a
(representing bytes, ints, unsigned ints, floats, complex and
fixed-length strings of specified byte lengths)
- int8,…,uint8,…,float16, float32, float64, complex64, complex128
(this time with bit sizes)
dtype is different from type.
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.
('John', [ 6., 7.]) Grades of John are: [ 6. 7.] Names are: ['Sarah' 'John']
This article is contributed by Ayushi Asthana. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.