Úvod do datových typů NumPy
Datový typ je atribut asociovaný s daty, který definuje druh hodnot, které mohou data obsahovat, druh operací, které lze na něm provádět, a co je nejdůležitější, množství paměti, které vyžaduje. Některé z velmi běžných datových typů jsou celé, reálné, booleovské a char. V tomto článku se pokusíme porozumět různým typům dat podporovaných Numpy. Numpy je pythonový balíček používaný pro vědecké výpočty. Je to čistě napsáno v programovacím jazyce C. Lze tedy předpokládat, že datové typy v Numpy jsou víceméně upgradem datových typů C.
Numpy datové typy
Různé typy dat podporované numpy jsou:
Numpy datový typ | Úzce spojený typ dat C | Velikost úložiště | Popis |
np.bool_ | bool | 1 byte | může obsahovat booleovské hodnoty jako (True nebo False) nebo (0 nebo 1) |
np.byte | podepsaná char | 1 byte | pojme hodnoty od 0 do 255 |
np.ubyte | nepodepsané char | 1 byte | pojme hodnoty od -128 do 127 |
np.short | signováno krátce | 2 bajty | pojme hodnoty od -32 768 do 32 767 |
np.ushort | nepodepsané krátké | 2 bajty | pojme hodnoty od 0 do 65 535 |
np.uintc | neoznačené int | 2 nebo 4 bajty | může obsahovat hodnoty od 0 do 65 535 nebo 0 do 4 294 967 295 |
np.int_ | dlouho | 8 bajtů | může obsahovat hodnoty od -9223372036854775808 do 9223372036854775807 |
np.uint | bez podpisu dlouho | 8 bajtů | 0 až 18446744073709551615 |
np.longlong | dlouho dlouho | 8 bajtů | může obsahovat hodnoty od -9223372036854775808 do 9223372036854775807 |
np.ulonglong | dlouho nepodepsané | 8 bajtů | 0 až 18446744073709551615 |
np.half / np.float16 | - | umožňuje přesnost plovoucí přesnosti Formát: sign bit, 5 bitů exponent, 10 bitů mantisy |
|
np.single | plovák | 4 byty | umožňuje přesnost jednoho plováku Formát: znaménkový bit, 8 bitů exponent, 23 bitů mantisy |
np.double | dvojnásobek | 8 bajtů | umožňuje dvojnásobnou plovoucí přesnost Formát: znaménkový bit, 11 bitů exponent, 52 bitů mantisy. |
np.longdouble | dlouhé dvojité | 8 bajtů | prodloužení plováku |
np.csingle | float komplex | 8 bajtů | dokáže držet komplex se skutečnými a imaginárními díly až plavidlo s jednoduchou přesností |
np.cdouble | dvojitý komplex | 16 bajtů | dokáže držet komplex se skutečnými a imaginárními díly až plavidlo s dvojitou přesností |
np.clongdouble | dlouhý dvojitý komplex | 16 bajtů | rozšíření plováku o komplexní číslo |
np.int8 | int8_t | 1 byte | pojme hodnoty od -128 do 127 |
np.int16 | int16_t | 2 bajty | pojme hodnoty od -32 768 do 32 767 |
np.int32 | int32_t | 4 byty | může obsahovat hodnoty od -2 147 483 648 do 2 147 483 647 |
np.int64 | int64_t | 8 bajtů | může obsahovat hodnoty od -9223372036854775808 do 9223372036854775807 |
np.uint8 | uint8_t | 1 byte | pojme hodnoty od 0 do 255 |
np.uint16 | uint16_t | 2 bajty | pojme hodnoty od 0 do 65 535 |
np.uint32 | uint32_t | 4 byty | může obsahovat hodnoty od 0 do 4 294 967 295 |
np.uint64 | uint64_t | 8 bajtů | může obsahovat hodnoty od 0 do 18446744073709551615 |
np.intp | intptr_t | 4 byty | podepsané celé číslo používané pro indexování |
np.uintp | uintptr_t | 4 byty | celé číslo bez znaménka používané k držení ukazatele |
np.float32 | plovák | 4 byty | jednoduchá plovoucí přesnost |
np.float64 | dvojnásobek | 8 bajtů | dvojitá přesnost plovoucí |
np.complex64 | float komplex | 8 bajtů | jednoduchá plovoucí přesnost v komplexních číslech |
np.complex128 | dvojitý komplex | 16 bajtů | dvojitá plovoucí přesnost v komplexních číslech |
Příklady datových typů NumPy
Nyní si vysvětlíme, jak se používá konkrétní typ numpy dat.
Příklad č. 1
Vytvoření objektu typu dat
dt = np.dtype(np.int8)
Výstup:
Příklad č. 2
Hledání velikosti datového typu
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Výstup:
Příklad č. 3
Vytvoření objektu typu dat pomocí jedinečných symbolů pro každý typ dat
Každý datový typ v numpy má přidružený znakový kód, který jej jedinečně identifikuje.
dt = np.dtype('i4')
Výstup:
Příklad č. 4
Použití datových typů k vytvoření strukturovaného pole
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Výstup:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Výstup:
Závěr
Numpy datové typy jsou víceméně podobné datovým typům C. Mohou být zhruba roztříděny na bool, byte, int, float, double a complex. Dobrý programátoři musí pochopit, jak jsou data ukládána a manipulována. Toho lze dosáhnout účinným porozuměním datových typů.
Doporučené články
Toto je průvodce typy dat NumPy. Zde diskutujeme o tom, jak je použit konkrétní typ datového čísla, spolu s příklady. Další informace naleznete také v následujících článcích -
- Co je NumPy?
- Matplotlib V Pythonu
- Datové typy Python
- Slovník v Pythonu