Datentypobjekte im Python NumPy-Tutorial

WBOY
Freigeben: 2022-08-29 20:05:47
nach vorne
1355 Leute haben es durchsucht

【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))
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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;])
Nach dem Login kopieren

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;])
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage