Uvod v podatkovne tipe NumPy
Tip podatkov je atribut, povezan s podatki, ki določa vrsto vrednosti, ki jih podatki lahko imajo, vrsto operacij, ki se lahko izvajajo na njej, in kar je najpomembneje, koliko pomnilnika potrebuje. Nekateri zelo pogosti tipi podatkov so celi, resnični, logični in črni. V tem članku bomo poskušali razumeti različne vrste podatkov, ki jih podpira Numpy. Numpy je paket python, ki se uporablja za znanstveno računanje. Napisano je izključno v programskem jeziku C. Zato lahko domnevamo, da so tipi podatkov v Numpyju bolj ali manj nadgradnja podatkovnih tipov C.
Številčne podatkovne vrste
Različne vrste podatkov, ki jih podpira numpy, so:
Številčen tip podatkov | Tesno povezan tip podatkov C | Velikost skladiščenja | Opis |
np.bool_ | bool | 1 bajt | lahko vsebuje logične vrednosti, kot so (True ali False) ali (0 ali 1) |
np.byte | podpisala char | 1 bajt | lahko vsebujejo vrednosti od 0 do 255 |
np.ubyte | nepodpisan char | 1 bajt | lahko vsebujejo vrednosti od -128 do 127 |
np.short | podpisano kratko | 2 bajta | lahko vsebujejo vrednosti od -32, 768 do 32, 767 |
np.ushort | kratko podpisan | 2 bajta | lahko vsebujejo vrednosti od 0 do 65.535 |
np.uintc | nepopisan int | 2 ali 4 bajte | lahko vsebujejo vrednosti od 0 do 65, 535 ali 0 do 4, 294, 967, 295 |
np.int_ | dolga | 8 bajtov | lahko vsebujejo vrednosti od -9223372036854775808 do 9223372036854775807 |
np.uint | nepodpisan dolgo | 8 bajtov | 0 do 18446744073709551615 |
np.longlong | dolgo dolgo | 8 bajtov | lahko vsebujejo vrednosti od -9223372036854775808 do 9223372036854775807 |
np.ulonglong | nepodpisan dolgo dolgo | 8 bajtov | 0 do 18446744073709551615 |
np.half / np.float16 | - | omogoča polovično natančnost s plovcem Format: bitni znak, 5-bitni eksponent, 10-bitni mantissa |
|
np.single | lebdeti | 4 bajti | omogoča enostransko natančnost Format: bitni znak, 8-bitni eksponent, 23-bitni mantissa |
np.dvoj | dvojno | 8 bajtov | omogoča dvojno natančnost lebdenja Format: bitni znak, 11-bitni eksponent, 52-bitni mantissa. |
np.longdouble | dolg dvojnik | 8 bajtov | podaljšek plovca |
np.csingle | float kompleks | 8 bajtov | lahko vsebujejo kompleksne z resničnimi in namišljenimi deli do enotočni plovec |
np.cdouble | dvojni kompleks | 16 bajtov | lahko vsebujejo kompleksne z resničnimi in namišljenimi deli do dvojno natančnost plovec |
np.clongdouble | dolg dvojni kompleks | 16 bajtov | podaljšek plovca za kompleksno število |
np.int8 | int8_t | 1 bajt | lahko vsebujejo vrednosti od -128 do 127 |
np.int16 | int16_t | 2 bajta | lahko vsebujejo vrednosti od -32, 768 do 32, 767 |
np.int32 | int32_t | 4 bajti | lahko vsebujejo vrednosti od -2, 147, 483, 648 do 2, 147, 483, 647 |
np.int64 | int64_t | 8 bajtov | lahko vsebujejo vrednosti od -9223372036854775808 do 9223372036854775807 |
np.uint8 | uint8_t | 1 bajt | lahko vsebujejo vrednosti od 0 do 255 |
np.uint16 | uint16_t | 2 bajta | lahko vsebujejo vrednosti od 0 do 65.535 |
np.uint32 | uint32_t | 4 bajti | lahko vsebujejo vrednosti od 0 do 4, 294, 967, 295 |
np.uint64 | uint64_t | 8 bajtov | lahko vsebujejo vrednosti od 0 do 18446744073709551615 |
np.intp | intptr_t | 4 bajti | podpisano celo število, ki se uporablja za indeksiranje |
np.uintp | uintptr_t | 4 bajti | nepodpisano celo število, ki se uporablja za zadrževanje kazalca |
np.float32 | lebdeti | 4 bajti | natančnost enojnega plovca |
np.float64 | dvojno | 8 bajtov | dvojna float natančnost |
np.complex64 | float kompleks | 8 bajtov | natančnost enojnega plovca v kompleksnih številkah |
np.complex128 | dvojni kompleks | 16 bajtov | dvojna natančnost lebdenja v kompleksnih številkah |
Primeri podatkovnih vrst NumPy
Zdaj pa razjasnimo, kako se uporablja določena vrsta podatka.
Primer # 1
Ustvarjanje objekta podatkovne vrste
dt = np.dtype(np.int8)
Izhod:
Primer # 2
Iskanje velikosti podatkovne vrste
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Izhod:
Primer # 3
Ustvarjanje predmeta podatkovnega tipa z uporabo edinstvenih simbolov za vsako vrsto podatkov
Vsaka vrsta podatkov v numpy ima pripadajočo kodo znakov, ki jo enolično prepozna.
dt = np.dtype('i4')
Izhod:
Primer št. 4
Uporaba podatkovnih vrst za ustvarjanje strukturiranega niza
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Izhod:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Izhod:
Zaključek
Številčni tipi podatkov so bolj ali manj podobni vrstam podatkov C. V grobem jih lahko razvrstimo v bool, bajt, int, float, double in kompleks. Dobri programerji morajo razumeti, kako se podatki shranjujejo in manipulirajo. To lahko dosežemo z učinkovitim razumevanjem podatkovnih vrst.
Priporočeni članki
To je vodnik za NumPy Data Types. Tukaj razpravljamo o tem, kako se s primeri primeri uporablja določen tip podatkov. Za več informacij si lahko ogledate tudi naslednje članke -
- Kaj je NumPy?
- Matplotlib In Python
- Vrste podatkov Python
- Slovar v slovenščini