Úvod do dátových typov NumPy
Dátový typ je atribút asociovaný s údajmi, ktorý definuje druh hodnôt, ktoré môžu dáta obsahovať, druh operácií, ktoré sa na ňom môžu vykonávať, a čo je najdôležitejšie množstvo pamäťového priestoru, ktoré vyžaduje. Niektoré z najbežnejších typov údajov sú celé, skutočné, booleovské a char. V tomto článku sa pokúsime porozumieť rôznym typom údajov podporovaných programom Numpy. Numpy je balík pythonov, ktorý sa používa na vedecké výpočty. Je čisto napísaný v programovacom jazyku C. Preto môžeme predpokladať, že dátové typy v Numpy sú viac-menej modernizáciou dátových typov C.
Numpy typy údajov
Rôzne typy údajov podporované numpy sú:
Numpy typ údajov | Úzko spojený typ údajov C | Veľkosť úložiska | popis |
np.bool_ | bool | 1 bajt | môže obsahovať booleovské hodnoty, ako napríklad (True alebo False) alebo (0 alebo 1) |
np.byte | podpísaná char | 1 bajt | môže držať hodnoty od 0 do 255 |
np.ubyte | znak bez znamienka | 1 bajt | môže držať hodnoty od -128 do 127 |
np.short | krátke podpísané | 2 bajty | môže držať hodnoty od -32 768 do 32 767 |
np.ushort | nepodpísané krátke | 2 bajty | môže držať hodnoty od 0 do 65 535 |
np.uintc | nepodpísané int | 2 alebo 4 bajty | môže uchovávať hodnoty od 0 do 65 535 alebo 0 do 4 294 967 295 |
np.int_ | dlho | 8 bajtov | môže držať hodnoty od -9223372036854775808 do 9223372036854775807 |
np.uint | nepodpísané dlho | 8 bajtov | 0 až 18446744073709551615 |
np.longlong | dlho dlho | 8 bajtov | môže držať hodnoty od -9223372036854775808 do 9223372036854775807 |
np.ulonglong | dlho nepodpísané | 8 bajtov | 0 až 18446744073709551615 |
np.half / np.float16 | - | umožňuje presnú polovičnú presnosť Formát: znamienkový bit, 5 bitov exponent, 10 bitov mantisy |
|
np.single | plavák | 4 bajty | umožňuje presnosť jedného plaváka Formát: znamienkový bit, 8 bitov exponent, 23 bitov mantisa |
np.double | dvojitý | 8 bajtov | umožňuje dvojitú plávajúcu presnosť Formát: znamienkový bit, 11 bitov exponent, 52 bitov mantisy. |
np.longdouble | dlhá dvojitá | 8 bajtov | predĺženie plaváka |
np.csingle | plavákový komplex | 8 bajtov | dokáže držať komplex s reálnymi a imaginárnymi časťami až po plavák s jednoduchou presnosťou |
np.cdouble | dvojitý komplex | 16 bajtov | dokáže držať komplex s reálnymi a imaginárnymi časťami až po plavák s dvojitou presnosťou |
np.clongdouble | dlhý dvojitý komplex | 16 bajtov | rozšírenie plaváka o komplexné číslo |
np.int8 | int8_t | 1 bajt | môže držať hodnoty od -128 do 127 |
np.int16 | int16_t | 2 bajty | môže držať hodnoty od -32 768 do 32 767 |
np.int32 | int32_t | 4 bajty | môže držať hodnoty od -2 147 483 648 do 2 147 483 647 |
np.int64 | int64_t | 8 bajtov | môže držať hodnoty od -9223372036854775808 do 9223372036854775807 |
np.uint8 | uint8_t | 1 bajt | môže držať hodnoty od 0 do 255 |
np.uint16 | uint16_t | 2 bajty | môže držať hodnoty od 0 do 65 535 |
np.uint32 | uint32_t | 4 bajty | môže obsahovať hodnoty od 0 do 4 294 967 295 |
np.uint64 | uint64_t | 8 bajtov | môže obsahovať hodnoty od 0 do 18446744073709551615 |
np.intp | intptr_t | 4 bajty | podpísané celé číslo používané na indexovanie |
np.uintp | uintptr_t | 4 bajty | celé číslo bez znamienka používané na držanie ukazovateľa |
np.float32 | plavák | 4 bajty | presnosť jednoduchého vznášania |
np.float64 | dvojitý | 8 bajtov | dvojitá presnosť plávania |
np.complex64 | plavákový komplex | 8 bajtov | presnosť jednoduchého vznášania v zložitých číslach |
np.complex128 | dvojitý komplex | 16 bajtov | dvojitá presnosť plávania v zložitých číslach |
Príklady typov údajov NumPy
Teraz pochopme, ako sa používa konkrétny typ údajov typu numpy.
Príklad č. 1
Vytvorenie objektu typu údajov
dt = np.dtype(np.int8)
Výkon:
Príklad č. 2
Vyhľadanie veľkosti dátového typu
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Výkon:
Príklad č. 3
Vytvorenie objektu typu údajov pomocou jedinečných symbolov pre každý typ údajov
Každý typ údajov v numpy má priradený znakový kód, ktorý ho jedinečne identifikuje.
dt = np.dtype('i4')
Výkon:
Príklad č. 4
Použitie typov údajov na vytvorenie štruktúrovaného poľa
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Výkon:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Výkon:
záver
Numpy typy údajov sú viac-menej ako typy údajov C. Môžu sa zhruba rozdeliť na bool, byte, int, float, double a complex. Dobré programátory musia pochopiť, ako sa údaje ukladajú a manipulujú. To sa dá dosiahnuť účinným pochopením typov údajov.
Odporúčané články
Toto je príručka k typom údajov NumPy. Tu diskutujeme o tom, ako sa používa konkrétny typ numpy údajov spolu s príkladmi. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Čo je NumPy?
- Matplotlib V Pythone
- Dátové typy Python
- Slovník v Pythone