Bevezetés a NumPy adattípusokba
Az adattípus az adatokhoz társított attribútum, amely meghatározza az adatok tárolásának típusát, az azokkal végrehajtható műveletek fajtáját és, ami a legfontosabb, az ehhez szükséges memóriaterület. A nagyon általános adattípusok közül néhány egész, valós, logikai és char. Ebben a cikkben megpróbáljuk megérteni a Numpy által támogatott különféle adattípusokat. A Numpy egy python csomag, amelyet tudományos számításhoz használnak. Ez tisztán a C programozási nyelven íródott. Ezért feltételezhetjük, hogy a Numpy adattípusai többé-kevésbé a C adattípusok frissítése.
Rossz adattípusok
A numpy által támogatott különféle adattípusok a következők:
Finom adattípus | Szorosan kapcsolódó C adattípus | Tárolási méret | Leírás |
np.bool_ | bool | 1 bájt | képes boolean értékeket tárolni, például (True vagy False) vagy (0 vagy 1) |
np.byte | aláírt char | 1 bájt | 0-tól 255-ig tarthat értékeket |
np.ubyte | alá nem írt char | 1 bájt | -128 és 127 között tarthat értékeket |
np.short | aláírt rövid | 2 bájt | -32 768 és 32 767 közötti értékeket tarthat |
np.ushort | alá nem írt rövid | 2 bájt | 0 és 65 535 közötti értéket tud tartani |
np.uintc | aláírta int | 2 vagy 4 bájt | 0-tól 65 535-ig vagy 0-tól 4 294 967 295-ig tarthat |
np.int_ | hosszú | 8 bájt | -9223372036854775808 és 9223372036854775807 közötti értékeket tarthat |
np.uint | alá nem írt hosszú | 8 bájt | 0 - 18446744073709551615 |
np.longlong | hosszú, hosszú | 8 bájt | -9223372036854775808 és 9223372036854775807 közötti értékeket tarthat |
np.ulonglong | alá nem írt hosszú hosszú | 8 bájt | 0 - 18446744073709551615 |
np.half / np.float16 | - | lehetővé teszi a félig úsztatott pontosságot a Formátum: jel bit, 5 bit exponens, 10 bit mantissa |
|
np.single | úszó | 4 bájt | lehetővé teszi az egyszeri úszó pontosságát Formátum: jel bit, 8 bit exponens, 23 bit mantissa |
np.double | kettős | 8 bájt | kettős úszó pontosságot tesz lehetővé Formátum: jelző bit, 11 bit exponens, 52 bit mantissa. |
np.longdouble | hosszú dupla | 8 bájt | az úszó kiterjesztése |
np.csingle | úszó komplexum | 8 bájt | akár valós és képzeletbeli részekkel is képes komplexen tartani egypontos pontosságú úszó |
np.cdouble | kettős komplexum | 16 bájt | akár valós és képzeletbeli részekkel is képes komplexen tartani kettős pontosságú úszó |
np.clongdouble | hosszú kettős komplexum | 16 bájt | az úszó kiterjesztése a komplex számhoz |
np.int8 | int8_t | 1 bájt | -128 és 127 között tarthat értékeket |
np.int16 | int16_t | 2 bájt | -32 768 és 32 767 közötti értékeket tarthat |
np.int32 | int32_t | 4 bájt | -2147, 483, 648 és 2, 147, 483, 647 között tarthat értékeket |
np.int64 | int64_t | 8 bájt | -9223372036854775808 és 9223372036854775807 közötti értékeket tarthat |
np.uint8 | uint8_t | 1 bájt | 0-tól 255-ig tarthat értékeket |
np.uint16 | uint16_t | 2 bájt | 0 és 65 535 közötti értéket tud tartani |
np.uint32 | uint32_t | 4 bájt | 0 és 4 294 967 295 közötti értékeket képes tartani |
np.uint64 | uint64_t | 8 bájt | 0 és 18446744073709551615 közötti értékeket tarthat |
np.intp | intptr_t | 4 bájt | az indexeléshez használt aláírt egész szám |
np.uintp | uintptr_t | 4 bájt | egy alá nem írt egész szám, amely a mutató tartására szolgál |
np.float32 | úszó | 4 bájt | egyszeri úszó pontosság |
np.float64 | kettős | 8 bájt | kettős úszó pontosság |
np.complex64 | úszó komplexum | 8 bájt | egyszeri úszó pontosság komplex számokban |
np.complex128 | kettős komplexum | 16 bájt | kettős úszó pontosság komplex számokban |
Példák a NumPy adattípusokra
Most értjük meg, hogy egy adott számtelen adattípus hogyan kerül felhasználásra.
1. példa
Adattípus objektum létrehozása
dt = np.dtype(np.int8)
Kimenet:
2. példa
Adattípus méretének megkeresése
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Kimenet:
3. példa
Adattípus-objektum létrehozása egyedi szimbólumok felhasználásával az egyes adattípusokhoz
Minden számtípusban lévő adattípushoz társított karakterkód tartozik, amely egyedileg azonosítja azt.
dt = np.dtype('i4')
Kimenet:
4. példa
Adattípusok használata strukturált tömb létrehozásához
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Kimenet:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Kimenet:
Következtetés
A szemtelen adattípusok többé-kevésbé hasonlítanak a C adattípusokhoz. Durván kategóriákba sorolhatók: bool, byte, int, float, double és komplex. A jó programozóknak meg kell érteniük, hogyan tárolják és kezelik az adatokat. Ez az adattípusok hatékony megértésével érhető el.
Ajánlott cikkek
Ez egy útmutató a NumPy adattípusokhoz. Itt a Példákkal együtt megvitatjuk, hogy egy adott számtelen adattípus hogyan kerül felhasználásra. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -
- Mi a NumPy?
- Matplotlib a Pythonban
- Python adattípusok
- Szótár Pythonban