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 przechowywania | Opis |
np.bool_ | bool | 1 bajt | może przechowywać wartości logiczne, takie jak (prawda lub fałsz) lub (0 lub 1) |
np.byte | podpisany char | 1 bajt | może przechowywać wartości od 0 do 255 |
np.ubyte | niepodpisany char | 1 bajt | może przechowywać wartości od -128 do 127 |
np. krótki | podpisane krótko | 2 bajty | może pomieścić wartości od -32 768 do 32 767 |
np.ushort | bez znaku krótkie | 2 bajty | może przechowywać wartości od 0 do 65 535 |
np.uintc | unsigned int | 2 lub 4 bajty | może zawierać wartości od 0 do 65 535 lub od 0 do 4 294 967 295 |
np.int_ | długo | 8 bajtów | może przechowywać wartości od -9223372036854775808 do 9223372036854775807 |
np.uint | bez znaku długo | 8 bajtów | Od 0 do 18446744073709551615 |
np.longlong | długo długo | 8 bajtów | może przechowywać wartości od -9223372036854775808 do 9223372036854775807 |
np.ulonglong | długo bez znaku | 8 bajtów | Od 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.single | pływak | 4 bajty | umożliwia precyzję pojedynczego pływaka Format: bit znaku, wykładnik 8 bitów, mantysa 23 bity |
np.double | podwójnie | 8 bajtów | umożliwia podwójną precyzję float Format: bit znaku, wykładnik 11 bitów, mantysa 52 bity. |
np.longdouble | długi podwójny | 8 bajtów | przedłużenie pływaka |
np.csingle | kompleks pływakowy | 8 bajtów | Potrafi utrzymać złożoną rzeczywistą i wymyśloną część pływak pojedynczej precyzji |
np.cdouble | podwójny kompleks | 16 bajtów | Potrafi utrzymać złożoną rzeczywistą i wymyśloną część pływak podwójnej precyzji |
np.clongdouble | długi podwójny kompleks | 16 bajtów | rozszerzenie liczby zmiennoprzecinkowej dla liczby zespolonej |
np.int8 | int8_t | 1 bajt | może przechowywać wartości od -128 do 127 |
np.int16 | int16_t | 2 bajty | może pomieścić wartości od -32 768 do 32 767 |
np.int32 | int32_t | 4 bajty | może pomieścić wartości od -2 147 483 648 do 2 147 483 647 |
np.int64 | int64_t | 8 bajtów | może przechowywać wartości od -9223372036854775808 do 9223372036854775807 |
np.uint8 | uint8_t | 1 bajt | może przechowywać wartości od 0 do 255 |
np.uint16 | uint16_t | 2 bajty | może przechowywać wartości od 0 do 65 535 |
np.uint32 | uint32_t | 4 bajty | może przechowywać wartości od 0 do 4 294 967 295 |
np.uint64 | uint64_t | 8 bajtów | może przechowywać wartości od 0 do 18446744073709551615 |
np.intp | intptr_t | 4 bajty | podpisana liczba całkowita używana do indeksowania |
np.uintp | uintptr_t | 4 bajty | liczba całkowita bez znaku używana do przechowywania wskaźnika |
np.float32 | pływak | 4 bajty | precyzja pojedynczego pływaka |
np.float64 | podwójnie | 8 bajtów | podwójna precyzja float |
np.complex64 | kompleks pływakowy | 8 bajtów | precyzja pojedynczego pływaka w liczbach zespolonych |
np.complex128 | podwójny kompleks | 16 bajtów | podwó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 -
- Co to jest NumPy?
- Matplotlib In Python
- Typy danych w języku Python
- Słownik w Pythonie