NumPy andmetüüpide tutvustus
Andmetüüp on andmetega seotud atribuut, mis määratleb väärtuste liigid, mida andmed saavad hoida, milliseid toiminguid saab sellega teha ja mis kõige tähtsam - selle jaoks vajaliku mäluruumi suurus. Mõned väga levinud andmetüübid on täisarv, reaalne, tõeväärtus ja sümbol. Selles artiklis proovime mõista erinevaid andmetüüpe, mida Numpy toetab. Numpy on python-pakett, mida kasutatakse teaduslikuks arvutamiseks. See on kirjutatud puhtalt C-programmeerimiskeeles. Seega võime eeldada, et Numpy andmetüübid on enam-vähem C-andmetüüpide versiooniuuendused.
Tuhmid andmetüübid
Erinevad andmetüübid, mida numpy toetab:
Räpane andmetüüp | Tihedalt seotud C-andmetüüp | Ladustamise suurus | Kirjeldus |
np.bool_ | loll | 1 bait | mahutab tõeväärtusi, näiteks (õige või vale) või (0 või 1) |
np.byte | allkirjastatud char | 1 bait | mahutab väärtusi vahemikus 0 kuni 255 |
np.ubyte | allkirjastamata char | 1 bait | võib hoida väärtusi vahemikus -128 kuni 127 |
np.lühike | allkirjastatud lühike | 2 baiti | võib hoida väärtusi vahemikus -32 768 kuni 32 767 |
np.ushort | allkirjastamata lühike | 2 baiti | mahutab väärtusi vahemikus 0 kuni 65 535 |
np.uintc | allkirjastamata int | 2 või 4 baiti | võib hoida väärtusi vahemikus 0 kuni 65 535 või 0 kuni 4 294 967 295 |
np.int_ | pikk | 8 baiti | mahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807 |
np.uint | allkirjastamata pikk | 8 baiti | 0 kuni 18446744073709551615 |
np.longlong | pikk pikk | 8 baiti | mahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807 |
np.ulonglong | allkirjastamata pikk pikk | 8 baiti | 0 kuni 18446744073709551615 |
np.hind / np.float16 | - | võimaldab poole hõljumise täpsusega Formaat: märkbit, 5 bitti eksponenti, 10 bitti mantissa |
|
np.single | hõljuma | 4 baiti | võimaldab ühekordse ujuki täpsusega Formaat: märkbit, 8 bitti eksponenti, 23 bitti mantissa |
np.double | kahekordne | 8 baiti | võimaldab topelt ujuki täpsust Formaat: märkbit, 11 bitti eksponenti, 52 bitti mantissa. |
np.longdouble | pikk topelt | 8 baiti | ujuki pikendamine |
np.csingle | ujuki kompleks | 8 baiti | mahutab keerulisi reaalsete ja kujutletavate osadega kuni ühe täpsusega ujuk |
np.cdouble | kahekordne kompleks | 16 baiti | mahutab keerulisi reaalsete ja kujutletavate osadega kuni kahekordse täpsusega ujuk |
np.clongdouble | pikk kahekordne kompleks | 16 baiti | ujuki laiendamine keeruka numbri jaoks |
np.int8 | int8_t | 1 bait | võib hoida väärtusi vahemikus -128 kuni 127 |
np.int16 | int16_t | 2 baiti | võib hoida väärtusi vahemikus -32 768 kuni 32 767 |
np.int32 | int32_t | 4 baiti | võib hoida väärtusi vahemikus -2 147 483 648 kuni 2 147 483 647 |
np.int64 | int64_t | 8 baiti | mahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807 |
np.uint8 | uint8_t | 1 bait | mahutab väärtusi vahemikus 0 kuni 255 |
np.uint16 | uint16_t | 2 baiti | mahutab väärtusi vahemikus 0 kuni 65 535 |
np.uint32 | uint32_t | 4 baiti | võib hoida väärtusi vahemikus 0 kuni 4 294 967 295 |
np.uint64 | uint64_t | 8 baiti | mahutab väärtusi vahemikus 0 kuni 18446744073709551615 |
np.intp | intptr_t | 4 baiti | indekseerimiseks kasutatud allkirjastatud täisarvu |
np.uintp | uintptr_t | 4 baiti | allkirjastamata täisarv, mida kasutatakse osuti hoidmiseks |
np.float32 | hõljuma | 4 baiti | ühekordne ujuki täpsus |
np.float64 | kahekordne | 8 baiti | topelt ujuki täpsus |
np.complex64 | ujuki kompleks | 8 baiti | ühekordse ujuki täpsus keerukates arvudes |
np.complex128 | kahekordne kompleks | 16 baiti | topelt ujuki täpsus keerulistes arvudes |
NumPy andmetüüpide näited
Saame nüüd aru, kuidas konkreetset numpy andmetüüpi kasutatakse.
Näide nr 1
Andmetüübi objekti loomine
dt = np.dtype(np.int8)
Väljund:
Näide 2
Andmetüübi suuruse leidmine
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Väljund:
Näide 3
Andmetüübi objekti loomine, kasutades iga andmetüübi jaoks ainulaadseid sümboleid
Igal numph-tüüpi andmetüübil on seotud märgikood, mis tuvastab selle unikaalselt.
dt = np.dtype('i4')
Väljund:
Näide 4
Andmetüüpide kasutamine struktureeritud massiivi loomiseks
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Väljund:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Väljund:
Järeldus
Tüpilised andmetüübid sarnanevad enam-vähem C tüüpi andmetüüpidega. Neid saab laias laastus liigitada booliks, baidiks, int, hõljumiseks, kahekordseks ja keerukaks. Tublid programmeerijad peavad mõistma, kuidas andmeid hoitakse ja nendega manipuleeritakse. Seda on võimalik saavutada andmetüüpide tõhusa mõistmise kaudu.
Soovitatavad artiklid
See on NumPy andmetüüpide juhend. Siin arutleme selle üle, kuidas konkreetset numph andmetüüpi kasutatakse koos näidetega. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -
- Mis on NumPy?
- Matplotlib Pythonis
- Pythoni andmetüübid
- Sõnastik Pythonis