Typy danych NumPy


Typy danych w Pythonie

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

  • strings- służy do przedstawiania danych tekstowych, tekst podawany jest w cudzysłowie. np. „ABCD”
  • integer- używane do reprezentowania liczb całkowitych. np. -1, -2, -3
  • float- używane do reprezentowania liczb rzeczywistych. np. 1,2, 42,42
  • boolean - używane do reprezentowania prawdy lub fałszu.
  • complex- używany do reprezentowania liczb zespolonych. np. 1,0 + 2,0j, 1,5 + 2,5j

Typy danych w NumPy

NumPy ma kilka dodatkowych typów danych i odwołuje się do typów danych z jednym znakiem, takich jak iliczby całkowite, liczby ucałkowite bez znaku itp.

Poniżej znajduje się lista wszystkich typów danych w NumPy i znaków używanych do ich reprezentowania.

  • i - liczba całkowita
  • b - logiczne
  • u - liczba całkowita bez znaku
  • f - Platforma
  • c - złożony pływak
  • m - delta czasu
  • M - data i godzina
  • O - obiekt
  • S - strunowy
  • U - ciąg Unicode
  • V - naprawiono fragment pamięci dla innego typu ( void )

Sprawdzanie typu danych tablicy

Obiekt tablicy NumPy ma właściwość o nazwie dtype , 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)

Przykład

Pobierz typ danych tablicy zawierającej ciągi:

import numpy as np

arr = np.array(['apple', 'banana', 'cherry'])

print(arr.dtype)


Tworzenie tablic ze zdefiniowanym typem danych

Używamy array()funkcji do tworzenia tablic, ta funkcja może przyjmować opcjonalny argument: dtype który pozwala nam zdefiniować oczekiwany typ danych elementów tablicy:

Przykład

Utwórz tablicę z ciągiem typu danych:

import numpy as np

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

print(arr)
print(arr.dtype)

Dla i, u, fi możemy również zdefiniować rozmiar S.U

Przykład

Utwórz tablicę z typem danych 4 bajty liczba całkowita:

import numpy as np

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

print(arr)
print(arr.dtype)

Co się stanie, jeśli wartości nie można przekonwertować?

Jeśli podano typ, w którym elementy nie mogą być rzutowane, NumPy zgłosi ValueError.

ValueError: W Pythonie ValueError jest wywoływane, gdy typ argumentu przekazanego do funkcji jest nieoczekiwany/niepoprawny.

Przykład

Łańcucha niecałkowitego, takiego jak „a”, nie można przekonwertować na liczbę całkowitą (zgłosi błąd):

import numpy as np

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

Konwersja typu danych na istniejących tablicach

Najlepszym sposobem zmiany typu danych istniejącej tablicy jest wykonanie kopii tablicy za pomocą astype()metody.

Funkcja astype()tworzy kopię tablicy i pozwala określić typ danych jako parametr.

Typ danych można określić za pomocą ciągu znaków, np . dla liczby 'f'zmiennoprzecinkowej, 'i'liczby całkowitej itp. lub możesz użyć typu danych bezpośrednio, na przykład dla liczby floatzmiennoprzecinkowej i intliczby całkowitej.

Przykład

Zmień typ danych z liczby zmiennoprzecinkowej na liczbę całkowitą, używając 'i'jako wartości parametru:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype('i')

print(newarr)
print(newarr.dtype)

Przykład

Zmień typ danych z liczby zmiennoprzecinkowej na liczbę całkowitą, używając intjako wartości parametru:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype(int)

print(newarr)
print(newarr.dtype)

Przykład

Zmień typ danych z liczby całkowitej na wartość logiczną:

import numpy as np

arr = np.array([1, 0, 3])

newarr = arr.astype(bool)

print(newarr)
print(newarr.dtype)

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

NumPy używa znaku do reprezentowania każdego z następujących typów danych, który z nich?

i = integer
 = boolean
 = unsigned integer
 = float
 = complex float
 = timedelta
 = datatime
 = object
 = string