Typy danych w NumPy

Typy danych w Pythonie

Domyślnie, Python ma następujące typy danych:

  • strings - Do reprezentowania danych tekstowych, tekst jest otoczony cudzysłowami. Na przykład "ABCD".
  • integer - Do reprezentowania liczb całkowitych. Na przykład -1, -2, -3.
  • float - Do reprezentowania liczb rzeczywistych. Na przykład 1.2, 42.42.
  • boolean - Do reprezentowania prawdy lub fałszu.
  • complex - Do reprezentowania liczb zespolonych w płaszczyźnie zespolonej. Na przykład 1.0 + 2.0j, 1.5 + 2.5j.

Typy danych w NumPy

NumPy ma kilka dodatkowych typów danych, które są odniesione przez znak, na przykład i Reprezentuje liczby całkowite:u Reprezentuje liczby bez znaku.

Poniżej znajduje się lista wszystkich typów danych w NumPy oraz znaki używane do ich reprezentacji.

  • i - Całkowity
  • b - Logiczny
  • u - Nieznakiem ujemnym całkowity
  • f - Liczba zmiennoprzestrzenna
  • c - Złożona liczba zmiennoprzestrzenna
  • m - timedelta
  • M - Datetime
  • O - Obiekt
  • S - Ciąg znaków
  • U - Unicode ciąg znaków
  • V - Blok pamięci o typie danych stałym (void)

Sprawdź typ danych tablicy

Obiekt tablicy NumPy ma nazwę dtype Właściwość, która zwraca typ danych tablicy:

Przykład

Pobierz typ danych obiektu tablicy:

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

Uruchom przykład

Przykład

Pobierz typ danych tablicy zawierającej ciąg znaków:

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

Uruchom przykład

tworzenia tablic za pomocą zdefiniowanego typu danych

Używamy array() Funkcja do tworzenia tablic, która może używać opcjonalnych parametrów:dtypepozwala nam zdefiniować oczekiwany typ elementów tablicy:

Przykład

Utwórz tablicę za pomocą łańcucha typów danych:

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

Uruchom przykład

Dla iufS i Umożemy również zdefiniować rozmiar.

Przykład

Utwórz tablicę o typie danych wynoszącym 4 bajty (całkowity)

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

Uruchom przykład

Co się stanie, jeśli wartość nie może być przekształcona?

Jeśli podano elementy, których typ nie może być przymusowo przekształcony, NumPy wywoła ValueError.

ValueError: W Pythonie, jeśli typ parametru przekazanego do funkcji jest nieoczekiwany lub niepoprawny, zostanie wywołany błąd ValueError.

Przykład

Nie można przekształcić ciągów znaków nie będących liczbami całkowitymi (np. 'a') w liczby całkowite (wywoła to błąd):

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

Uruchom przykład

Konwersja typu danych istniejącej tablicy

Najlepszym sposobem na zmianę typu danych istniejącej tablicy jest użycie astype() metoda kopiuje tablicę.

astype() Funkcja tworzy kopię tablicy i pozwala na określenie typu danych jako parametru.

Typ danych można指定ować za pomocą ciągów znaków, na przykład 'f' oznacza liczbę zmiennoprzecinkową,'i' oznacza liczbę całkowitą itp. Możesz również bezpośrednio użyć typu danych, na przykład float oznacza liczbę zmiennoprzecinkową,int oznacza liczbę całkowitą.

Przykład

Poprzez użycie 'i' Jako wartość parametru, zmień typ danych z liczby zmiennoprzecinkowej na całkowitą:

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

Uruchom przykład

Przykład

Poprzez użycie int Jako wartość parametru, zmień typ danych z liczby zmiennoprzecinkowej na całkowitą:

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

Uruchom przykład

Przykład

Zmień typ danych z całkowitego na logiczny:

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

Uruchom przykład