Dieser Artikel vermittelt Ihnen relevantes Wissen über Python, in dem hauptsächlich Probleme im Zusammenhang mit Numpy-Datentypen organisiert werden, einschließlich der grundlegenden Datentypen von Numpy, der benutzerdefinierten zusammengesetzten Datentypen von Numpy, der Verwendung von ndarray zum Speichern von Datumsdatentypen usw. Schauen wir uns das an Ich hoffe, dass der Inhalt unten für alle hilfreich sein wird.
【Verwandte Empfehlung: Python3-Video-Tutorial】
Typname | Typindikator |
---|---|
Boolean | bool |
Integer-Typ mit Vorzeichen | int8/int16/int32/int64 |
Integer-Typ ohne Vorzeichen | uint8/uint16/uint32/uint64 |
Gleitkomma-Typ | float 16/float32/ float64 |
Plural Typ | complex64 / complex128 |
Zeichentyp | str, jedes Zeichen wird durch 32-Bit-Unicode-Codierung dargestellt |
import numpy as np arr = np.array([1, 2, 3]) print(arr, arr.dtype) arr = arr.astype('int64') print(arr, arr.dtype) arr = arr.astype('float32') print(arr, arr.dtype) arr = arr.astype('bool') print(arr, arr.dtype) arr = arr.astype('str') print(arr, arr.dtype)
Wenn Sie möchten Um Objekttypen in ndarray zu speichern, empfiehlt Numpy die Verwendung von Tupeln zum Speichern von Attributfeldwerten von Objekten. Das anschließende Hinzufügen von Tupeln zu ndarray bietet eine Syntax, um die Verarbeitung dieser Daten zu erleichtern. import numpy as np
data = [
('zs', [99, 98, 90], 17),
('ls', [95, 95, 92], 16),
('ww', [97, 92, 91], 18)
]
# 姓名 2 个字符
# 3 个 int32 类型的成绩
# 1 个 int32 类型的年龄
arr = np.array(data, dtype='2str, 3int32, int32')
print(arr)
print(arr.dtype)
# 可以通过索引访问
print(arr[0], arr[0][2])
Wenn die Datenmenge groß ist, ist die obige Methode für den Datenzugriff nicht geeignet.
ndarray stellt Datentypen und Spaltenaliase bereit, die in Form vonWörterbüchern oder Listen
definiert werden können. Beim Zugriff auf Daten können Sie über tiefgestellte Indizes oder Spaltennamen darauf zugreifen. import numpy as np
data = [
('zs', [99, 98, 90], 17),
('ls', [95, 95, 92], 16),
('ww', [97, 92, 91], 18)]# 采用字典定义列名和元素的数据类型arr = np.array(data, dtype={
# 设置每列的别名
'names': ['name', 'scores', 'age'],
# 设置每列数据元素的数据类型
'formats': ['2str', '3int32', 'int32']})print(arr, arr[0]['age'])# 采用列表定义列名和元素的数据类型arr = np.array(data, dtype=[
# 第一列
('name', 'str', 2),
# 第二列
('scores', 'int32', 3),
# 第三列
('age', 'int32', 1)])print(arr, arr[1]['scores'])# 直接访问数组的一列print(arr['scores'])
3. Verwenden Sie ndarray, um den Datumsdatentyp
import numpy as np dates = [ '2011', '2011-02', '2011-02-03', '2011-04-01 10:10:10' ] ndates = np.array(dates) print(ndates, ndates.dtype) # 数据类型为日期类型,采用 64 位二进制进行存储,D 表示日期精确到天 ndates = ndates.astype('datetime64[D]') print(ndates, ndates.dtype) # 日期运算 print(ndates[-1] - ndates[0])
1 zu speichern. Die Unterstützung für Datumszeichenfolgen unterstützt
3. Zeitschreibformat2011/11/11
nicht, verwenden Sie Leerzeichen getrennt Das Datum unterstützt2011 11 11
nicht, unterstützt jedoch2011-11-11
2. Zwischen Datum und Uhrzeit muss ein Leerzeichen stehen, umzu trennen 2011-04-01 10 :10:10
10:10:10
4. Geben Sie den Zeichencode ein (Datentypabkürzung)
numpy stellt den Typ bereit Zeichencode, der eine bequemere Handhabung von Datentypen ermöglichen kann. ?? 1 6/int32/int642011/11/11
,使用空格进行分隔日期也不支持2011 11 11
,支持2011-11-11
2.日期与时间之间需要有空格进行分隔2011-04-01 10:10:10
3.时间的书写格式10:10:10
Zeichentyp | str, jedes Zeichen wird durch 32-Bit-Unicode-Codierung dargestellt | |
---|---|---|
Datum | datatime64 | M8[ Y] / M8[M ] / M8[D] / M8[h] / M8[m] / M8[s] |
Felder auswählen, ndarray Store-Daten verwenden. | import numpy as np datas = [ (0, '4室1厅', 298.79, 2598, 86951), (1, '3室2厅', 154.62, 1000, 64675), (2, '3室2厅', 177.36, 1200, 67659),]arr = np.array(datas, dtype={ 'names': ['index', 'housetype', 'square', 'totalPrice', 'unitPrice'], 'formats': ['u1', '4U', 'f4', 'i4', 'i4']})print(arr)print(arr.dtype)# 计算 totalPrice 的均值sum_totalPrice = sum(arr['totalPrice'])print(sum_totalPrice/3) Nach dem Login kopieren |
|
[Verwandte Empfehlungen: | Python3-Video-Tutorial] |
Das obige ist der detaillierte Inhalt vonEinführung in Python-Datentypen – Numpy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!