Wprowadzenie do typów danych NumPy

Typ danych to atrybut powiązany z danymi, który określa rodzaj wartości, które dane mogą przechowywać, rodzaj operacji, które można na nim wykonać, a co najważniejsze, wymaganą przez niego ilość pamięci. Niektóre z bardzo powszechnych typów danych to liczby całkowite, rzeczywiste, logiczne i char. W tym artykule postaramy się zrozumieć różne typy danych obsługiwane przez Numpy. Numpy to pakiet Pythona używany do obliczeń naukowych. Jest napisany wyłącznie w języku programowania C. Dlatego możemy założyć, że typy danych w Numpy są mniej więcej aktualizacją typów danych C.

Numpy Typy danych

Różne typy danych obsługiwane przez numpy to:

Typ danych numpyŚciśle powiązany typ danych C.Rozmiar przechowywaniaOpis
np.bool_bool1 bajtmoże przechowywać wartości logiczne, takie jak (prawda lub fałsz) lub (0 lub 1)
np.bytepodpisany char1 bajtmoże przechowywać wartości od 0 do 255
np.ubyteniepodpisany char1 bajtmoże przechowywać wartości od -128 do 127
np. krótkipodpisane krótko2 bajtymoże pomieścić wartości od -32 768 do 32 767
np.ushortbez znaku krótkie2 bajtymoże przechowywać wartości od 0 do 65 535
np.uintcunsigned int2 lub 4 bajtymoże zawierać wartości od 0 do 65 535 lub od 0 do 4 294 967 295
np.int_długo8 bajtówmoże przechowywać wartości od -9223372036854775808 do 9223372036854775807
np.uintbez znaku długo8 bajtówOd 0 do 18446744073709551615
np.longlongdługo długo8 bajtówmoże przechowywać wartości od -9223372036854775808 do 9223372036854775807
np.ulonglongdługo bez znaku8 bajtówOd 0 do 18446744073709551615
np.half / np.float16-pozwala na precyzję połowiczną
Format: bit znaku, wykładnik 5 bitów, mantysa 10 bitów
np.singlepływak4 bajtyumożliwia precyzję pojedynczego pływaka
Format: bit znaku, wykładnik 8 bitów, mantysa 23 bity
np.doublepodwójnie8 bajtówumożliwia podwójną precyzję float
Format: bit znaku, wykładnik 11 bitów, mantysa 52 bity.
np.longdoubledługi podwójny8 bajtówprzedłużenie pływaka
np.csinglekompleks pływakowy8 bajtówPotrafi utrzymać złożoną rzeczywistą i wymyśloną część
pływak pojedynczej precyzji
np.cdoublepodwójny kompleks16 bajtówPotrafi utrzymać złożoną rzeczywistą i wymyśloną część
pływak podwójnej precyzji
np.clongdoubledługi podwójny kompleks16 bajtówrozszerzenie liczby zmiennoprzecinkowej dla liczby zespolonej
np.int8int8_t1 bajtmoże przechowywać wartości od -128 do 127
np.int16int16_t2 bajtymoże pomieścić wartości od -32 768 do 32 767
np.int32int32_t4 bajtymoże pomieścić wartości od -2 147 483 648 do 2 147 483 647
np.int64int64_t8 bajtówmoże przechowywać wartości od -9223372036854775808 do 9223372036854775807
np.uint8uint8_t1 bajtmoże przechowywać wartości od 0 do 255
np.uint16uint16_t2 bajtymoże przechowywać wartości od 0 do 65 535
np.uint32uint32_t4 bajtymoże przechowywać wartości od 0 do 4 294 967 295
np.uint64uint64_t8 bajtówmoże przechowywać wartości od 0 do 18446744073709551615
np.intpintptr_t4 bajtypodpisana liczba całkowita używana do indeksowania
np.uintpuintptr_t4 bajtyliczba całkowita bez znaku używana do przechowywania wskaźnika
np.float32pływak4 bajtyprecyzja pojedynczego pływaka
np.float64podwójnie8 bajtówpodwójna precyzja float
np.complex64kompleks pływakowy8 bajtówprecyzja pojedynczego pływaka w liczbach zespolonych
np.complex128podwójny kompleks16 bajtówpodwójna precyzja zmiennoprzecinkowa w liczbach zespolonych

Przykłady typów danych NumPy

Teraz zrozumiemy, w jaki sposób używany jest określony typ danych numpy.

Przykład 1

Tworzenie obiektu typu danych

dt = np.dtype(np.int8)

Wynik:

Przykład nr 2

Znajdowanie rozmiaru typu danych

dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)

Wynik:

Przykład nr 3

Tworzenie obiektu typu danych przy użyciu unikalnych symboli dla każdego typu danych

Każdy typ danych w numpy ma powiązany kod znakowy, który jednoznacznie go identyfikuje.

dt = np.dtype('i4')

Wynik:

Przykład 4

Używanie typów danych do tworzenia tablicy strukturalnej

employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)

Wynik:

a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)

Wynik:

Wniosek

Numpy typy danych są mniej więcej takie same jak typy danych C. Można je z grubsza podzielić na bool, bajty, int, zmiennoprzecinkowe, podwójne i złożone. Dobrzy programiści muszą zrozumieć, w jaki sposób dane są przechowywane i przetwarzane. Można to osiągnąć poprzez skuteczne zrozumienie typów danych.

Polecane artykuły

Jest to przewodnik po typach danych NumPy. W tym miejscu omawiamy sposób użycia określonego typu danych numpy wraz z przykładami. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Co to jest NumPy?
  2. Matplotlib In Python
  3. Typy danych w języku Python
  4. Słownik w Pythonie

Kategoria: