NumPy Datatypes

Data types in Python

Standaard heeft Python de volgende data types:

  • strings - Voor het vertegenwoordigen van tekstgegevens, tekst wordt tussen aanhalingstekens gezet. Bijvoorbeeld "ABCD".
  • integer - Voor het vertegenwoordigen van integers. Bijvoorbeeld -1, -2, -3.
  • float - Voor het vertegenwoordigen van reële getallen. Bijvoorbeeld 1.2, 42.42.
  • boolean - Voor het vertegenwoordigen van True of False.
  • complex - Voor het vertegenwoordigen van getallen in het complexe vlak. Bijvoorbeeld 1.0 + 2.0j, 1.5 + 2.5j.

Data types in NumPy

NumPy heeft enkele extra data types en referentieer deze door een teken, bijvoorbeeld i Vertegenwoordigen integers.u Vertegenwoordigen ongeveerde integers.

Hier is een lijst van alle data types in NumPy en de tekens die ze vertegenwoordigen.

  • i - Integers
  • b - Booleans
  • u - Ongeveerde integers
  • f - Floats
  • c - Complexe float-getallen
  • m - Timedeltas
  • M - Datetimes
  • O - Objecten
  • S - Strings
  • U - Unicode strings
  • V - Vaste andere types geheugenblokken (void)

Controleer het data type van de array

Een NumPy array object heeft een naam genaamd dtype De eigenschap, die het data type van de array retourneert:

实例

Verkrijg het data type van het array object:

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

运行实例

实例

Verkrijg het data type van de array met strings:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

运行实例

Maak een array met een gedefinieerd data type

We gebruiken array() De functie om een array te maken, die optionele parameters kan gebruiken:dtypeHet staat ons toe om het verwachte data type van de array elementen te definiëren:

实例

Maak een array met een data type string:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

运行实例

Voor iufS en UWe kunnen ook de grootte definiëren.

实例

Maak een array van 4 bytes integers aan:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

运行实例

Wat als de waarde niet kan worden omgezet?

Als de elementen niet worden omgezet, zal NumPy ValueError uitwerpen.

ValueError:在 Python 中,如果传递给函数的参数的类型是非预期或错误的,则会引发 ValueError。

实例

无法将非整数字符串(比如 'a')转换为整数(将引发错误):

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

运行实例

转换已有数组的数据类型

更改现有数组的数据类型的最佳方法,是使用 astype() 方法复制该数组。

astype() 函数创建数组的副本,并允许您将数据类型指定为参数。

数据类型可以使用字符串指定,例如 'f' 表示浮点数,'i' 表示整数等。或者您也可以直接使用数据类型,例如 float 表示浮点数,int 表示整数。

实例

通过使用 'i' 作为参数值,将数据类型从浮点数更改为整数:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

运行实例

实例

通过使用 int 作为参数值,将数据类型从浮点数更改为整数:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

运行实例

实例

将数据类型从整数更改为布尔值:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

运行实例