Heim  >  Artikel  >  Backend-Entwicklung  >  Datentypobjekte im Python NumPy-Tutorial

Datentypobjekte im Python NumPy-Tutorial

WBOY
WBOYnach vorne
2022-08-29 11:48:091336Durchsuche

【Verwandte Empfehlung: Python3-Video-Tutorial

Jedes Ndarray verfügt über ein zugehöriges Datentypobjekt (dtype). Dieses Datentypobjekt (dtype) teilt uns das Layout des Arrays mit. Dies bedeutet, dass es uns die folgenden Informationen liefert:

  • Datentyp (Ganzzahl, Float, Python-Objekt usw.)
  • Datengröße (Anzahl der Bytes)
  • Endianness der Daten (Little Endian oder Big Endian)
  • If Der Datentyp ist ein Subarray. Welche Form und welchen Datentyp hat es? Der Wert von

ndarray wird in einem Puffer gespeichert, der als zusammenhängender Block von Speicherbytes betrachtet werden kann. Wie diese Bytes interpretiert werden, wird also durch das dtype-Objekt vorgegeben.

Konstruieren Sie ein Datentypobjekt (dtype)

Ein Datentypobjekt ist eine Instanz der Klasse numpy.dtype und kann verwendet werden numpy.dtype.

Parameter:

obj: Das Objekt, das in a konvertiert werden soll Datentypobjekt.

align : [bool, optional] Füllen Sie das Feld so auf, dass es mit den Ausgaben des C-Compilers für C-ähnliche Strukturen übereinstimmt.

Kopie: [bool, optional] Erstellen Sie eine neue Kopie des Datentypobjekts. Bei False kann das Ergebnis einfach ein Verweis auf ein integriertes Datentypobjekt sein.

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

Ausgabe:

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)

Ausgabe:

Byte-Reihenfolge ist: >
Größe ist: 4
Name des Datentyps ist: int32

Typbezeichner (in i4 im obigen Fall) kann verschiedene Formen annehmen:

b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a (repräsentiert Bytes, Ganzzahlen, vorzeichenlose Ganzzahlen , Gleitkommazahlen, komplexe Zahlen und Zeichenfolgen fester Länge mit Angabe von BytesLänge)

int8,...,uint8,...,float16, float32, float64, complex64, complex128 (diesmal Bitgröße )

Hinweis: dtype unterscheidet sich vom Typ.

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

Ausgabe:

Typ ist:
dTyp ist: int32

Datentypobjekt mit strukturiertem Array

Datentypobjekt ist nützlich zum Erstellen strukturierter Arrays. Ein strukturiertes Array ist ein Array, das verschiedene Datentypen enthält. Mithilfe von Feldern kann auf strukturierte Arrays zugegriffen werden.

Felder sind so, als würden Sie Objekten Namen geben. Im Falle eines strukturierten Arrays wird auch das Dtype-Objekt strukturiert.

# 用于演示字段使用的 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;])

Ausgabe:

('

# 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;])

Ausgabe:

('John', [ 6., 7.])
Grades of John sind: [ 6. 7.]
Namen sind: ['Sarah' 'John']

【Verwandte Empfehlungen:Python3-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDatentypobjekte im Python NumPy-Tutorial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen