Python NumPy tutorial data type objects

WBOY
Release: 2022-08-29 20:05:47
forward
1357 people have browsed it

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

  • Data type (integer, float, Python object, etc.)
  • Data size (number of bytes)
  • Endianness of the data (little endian or big endian)
  • If the data type is a subarray, what is its shape and data type.

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.

Construct a data type (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))
Copy after login

Output:

int16

# Python 程序创建一个包含 32 位大端整数的数据类型对象
import numpy as np
 
# i4 表示大小为 4 字节的整数
# > 表示大端字节序和
# < 表示小端编码。
# dt 是一个 dtype 对象
dt = np.dtype(&#39;>i4&#39;)
 
print("Byte order is:",dt.byteorder)
 
print("Size is:", dt.itemsize)
 
print("Data type is:", dt.name)
Copy after login

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)
Copy after login

Output:

type is:
dtype is: int32

Data type with structured array Object

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([(&#39;name&#39;, np.unicode_, 16),
               (&#39;grades&#39;, np.float64, (2,))])
 
# 具有字段等级的对象的数据类型
print(dt[&#39;grades&#39;])
 
# 具有字段名称的对象的数据类型
print(dt[&#39;name&#39;])
Copy after login

Output:

('

# Python 程序演示了数据类型对象与结构化数组的使用。
import numpy as np
 
dt = np.dtype([(&#39;name&#39;, np.unicode_, 16),
               (&#39;grades&#39;, np.float64, (2,))])
 
# x 是一个包含学生姓名和分数的结构化数组。
# 学生姓名的数据类型是np.unicode_,分数的数据类型是np.float(64)
x = np.array([(&#39;Sarah&#39;, (8.0, 7.0)),
              (&#39;John&#39;, (6.0, 7.0))], dtype=dt)
 
print(x[1])
 
print("Grades of John are: ", x[1][&#39;grades&#39;])
print("Names are: ", x[&#39;name&#39;])
Copy after login

Output :

##('John', [ 6., 7.])

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

[Related recommendations:

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!

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template