Objets de type de données du didacticiel Python NumPy

WBOY
Libérer: 2022-08-29 20:05:47
avant
1364 Les gens l'ont consulté

【Recommandation associée : Tutoriel vidéo Python3

Chaque ndarray est associé à un objet de type de données (dtype). Cet objet de type de données (dtype) nous indique la disposition du tableau. Cela signifie qu'il nous donne les informations suivantes :

  • Type de données (entier, flottant, objet Python, etc.)
  • Taille des données (nombre d'octets)
  • Endianité des données (little endian ou big endian)
  • Si le type de données est un sous-tableau, quelle est sa forme et son type de données. La valeur de

ndarray est stockée dans un tampon, qui peut être considéré comme un bloc contigu d'octets de mémoire. Ainsi, la façon dont ces octets seront interprétés est donnée par l’objet dtype.

Construire un objet de type de données (dtype)

Un objet de type de données est une instance de la classe numpy.dtype et peut être utilisé numpy.dtype.

Paramètres :

obj : L'objet à convertir en objet de type de données.

align : [bool, facultatif] Ajoutez un remplissage au champ pour qu'il corresponde à ce que le compilateur C génère pour les structures de type C.

copy : [bool, facultatif] Créez une nouvelle copie de l'objet de type de données. Si False, le résultat peut simplement être une référence à un objet de type de données intégré.

# Python 程序创建数据类型对象
import numpy as np
 
# np.int16 被转换为数据类型对象。
print(np.dtype(np.int16))
Copier après la connexion

Sortie :

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)
Copier après la connexion

Sortie :

L'ordre des octets est : >
La taille est : 4
Le nom du type de données est : int32

spécificateur de type (dans i4 dans le cas ci-dessus) peut prendre différentes formes :

b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a (représentant des octets, des entiers, des entiers non signés , nombres à virgule flottante, nombres complexes et chaînes de longueur fixe spécifiant octetslongueur)

int8,...,uint8,...,float16, float32, float64, complexe64, complexe128 (cette fois Bit taille)

Remarque : dtype est différent du type.

# 用于区分类型和数据类型的 Python 程序。
import numpy as np
 
a = np.array([1])
 
print("type is: ",type(a))
print("dtype is: ",a.dtype)
Copier après la connexion

Sortie :

type est :
dtype est : int32

Objet de type de données avec tableau structuré

L'objet de type de données est utile pour créer des tableaux structurés. Un tableau structuré est un tableau contenant différents types de données. Les tableaux structurés sont accessibles à l'aide de champs.

Les champs, c'est comme donner des noms à des objets. Dans le cas d'un tableau structuré, l'objet dtype sera également structuré.

# 用于演示字段使用的 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;])
Copier après la connexion

Sortie :

('

# 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;])
Copier après la connexion

Sortie :

('John', [ 6., 7.])
Notes de John sont : [ 6. 7.]
Les noms sont : ['Sarah' 'John']

【Recommandations associées :Tutoriel vidéo Python3

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal