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üüpTihedalt seotud C-andmetüüpLadustamise suurusKirjeldus
np.bool_loll1 baitmahutab tõeväärtusi, näiteks (õige või vale) või (0 või 1)
np.byteallkirjastatud char1 baitmahutab väärtusi vahemikus 0 kuni 255
np.ubyteallkirjastamata char1 baitvõib hoida väärtusi vahemikus -128 kuni 127
np.lühikeallkirjastatud lühike2 baitivõib hoida väärtusi vahemikus -32 768 kuni 32 767
np.ushortallkirjastamata lühike2 baitimahutab väärtusi vahemikus 0 kuni 65 535
np.uintcallkirjastamata int2 või 4 baitivõib hoida väärtusi vahemikus 0 kuni 65 535 või 0 kuni 4 294 967 295
np.int_pikk8 baitimahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807
np.uintallkirjastamata pikk8 baiti0 kuni 18446744073709551615
np.longlongpikk pikk8 baitimahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807
np.ulonglongallkirjastamata pikk pikk8 baiti0 kuni 18446744073709551615
np.hind / np.float16-võimaldab poole hõljumise täpsusega
Formaat: märkbit, 5 bitti eksponenti, 10 bitti mantissa
np.singlehõljuma4 baitivõimaldab ühekordse ujuki täpsusega
Formaat: märkbit, 8 bitti eksponenti, 23 bitti mantissa
np.doublekahekordne8 baitivõimaldab topelt ujuki täpsust
Formaat: märkbit, 11 bitti eksponenti, 52 bitti mantissa.
np.longdoublepikk topelt8 baitiujuki pikendamine
np.csingleujuki kompleks8 baitimahutab keerulisi reaalsete ja kujutletavate osadega kuni
ühe täpsusega ujuk
np.cdoublekahekordne kompleks16 baitimahutab keerulisi reaalsete ja kujutletavate osadega kuni
kahekordse täpsusega ujuk
np.clongdoublepikk kahekordne kompleks16 baitiujuki laiendamine keeruka numbri jaoks
np.int8int8_t1 baitvõib hoida väärtusi vahemikus -128 kuni 127
np.int16int16_t2 baitivõib hoida väärtusi vahemikus -32 768 kuni 32 767
np.int32int32_t4 baitivõib hoida väärtusi vahemikus -2 147 483 648 kuni 2 147 483 647
np.int64int64_t8 baitimahutab väärtusi vahemikus -9223372036854775808 kuni 9223372036854775807
np.uint8uint8_t1 baitmahutab väärtusi vahemikus 0 kuni 255
np.uint16uint16_t2 baitimahutab väärtusi vahemikus 0 kuni 65 535
np.uint32uint32_t4 baitivõib hoida väärtusi vahemikus 0 kuni 4 294 967 295
np.uint64uint64_t8 baitimahutab väärtusi vahemikus 0 kuni 18446744073709551615
np.intpintptr_t4 baitiindekseerimiseks kasutatud allkirjastatud täisarvu
np.uintpuintptr_t4 baitiallkirjastamata täisarv, mida kasutatakse osuti hoidmiseks
np.float32hõljuma4 baitiühekordne ujuki täpsus
np.float64kahekordne8 baititopelt ujuki täpsus
np.complex64ujuki kompleks8 baitiühekordse ujuki täpsus keerukates arvudes
np.complex128kahekordne kompleks16 baititopelt 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 -

  1. Mis on NumPy?
  2. Matplotlib Pythonis
  3. Pythoni andmetüübid
  4. Sõnastik Pythonis

Kategooria: