[Related recommendations: Python3 video tutorial ]
Each ndarray has an associated data type (dtype) object. This data type object (dtype) tells us the layout of the array. This means it gives us the following information:
The value of an ndarray is stored in a buffer, which can be viewed as a contiguous block of memory bytes. So how these bytes will be interpreted is given by the dtype object.
The data type object is an instance of the numpy.dtype class, you can use numpy.dtype
.
Parameters:
obj: The object to be converted to a data type object.
align : [bool, optional] Add padding to the field to match what the C compiler outputs for C-like structures.
copy : [bool, optional] Make a new copy of the data type object. If False, the result may simply be a reference to a built-in data type object.
# Python 程序创建数据类型对象 import numpy as np # np.int16 被转换为数据类型对象。 print(np.dtype(np.int16))
Output:
int16
# Python 程序创建一个包含 32 位大端整数的数据类型对象 import numpy as np # i4 表示大小为 4 字节的整数 # > 表示大端字节序和 # < 表示小端编码。 # dt 是一个 dtype 对象 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 be taken Different forms:
b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a (representing byte, integer, none Signed integers, floating point numbers, complex numbers specifying bytes length, and fixed-length strings)
int8,...,uint8,...,float16, float32, float64, complex64, complex128 (this time bits size)
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
Data type objects are useful for creating structured arrays. A structured array is an array containing different types of data. Structured arrays can be accessed with the help of fields.
Fields are like giving names to objects. In the case of a structured array, the dtype object will also be structured.
# 用于演示字段使用的 Python 程序 import numpy as np # 一种结构化数据类型,包含一个 16 字符的字符串(在“name”字段中)和两个 64 位浮点数的子数组(在“grades”字段中) dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))]) # 具有字段等级的对象的数据类型 print(dt['grades']) # 具有字段名称的对象的数据类型 print(dt['name'])
Output:
('
# Python 程序演示了数据类型对象与结构化数组的使用。 import numpy as np dt = np.dtype([('name', np.unicode_, 16), ('grades', np.float64, (2,))]) # x 是一个包含学生姓名和分数的结构化数组。 # 学生姓名的数据类型是np.unicode_,分数的数据类型是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.])[Related recommendations:Grades of John are: [ 6. 7.]
Names are: ['Sarah' 'John']
Python3 video tutorial】
The above is the detailed content of Python NumPy tutorial data type objects. For more information, please follow other related articles on the PHP Chinese website!