0% found this document useful (0 votes)
2 views

Data type Object

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Data type Object

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

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.

Parameters:

 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.

 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:

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:

 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)

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

# 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']

You might also like