Introduktion til NumPy-datatyper

En datatype er en attribut, der er knyttet til dataene, som definerer den type værdier, som dataene kan indeholde, den type operationer, der kan udføres på dem og vigtigst af alt, hvilken mængde hukommelse der kræves af den. Nogle af de meget almindelige datatyper er heltal, ægte, boolske og char. I denne artikel vil vi gøre et forsøg på at forstå forskellige datatyper understøttet af Numpy. Numpy er en python-pakke, der bruges til videnskabelig computing. Det er rent skrevet på programmeringssprog C. Derfor kan vi antage, at datatyper i Numpy mere eller mindre er en opgradering af C-datatyper.

Numpy datatyper

De forskellige datatyper, der understøttes af numpy, er:

Numpy datatypeTæt tilknyttet C-datatypeOpbevaring StørrelseBeskrivelse
np.bool_bool1 bytekan indeholde booleske værdier, som (sandt eller falskt) eller (0 eller 1)
np.byteunderskrevet char1 bytekan indeholde værdier fra 0 til 255
np.ubyteusigneret char1 bytekan indeholde værdier fra -128 til 127
np.shortunderskrevet kort2 bytekan indeholde værdier fra -32.768 til 32.767
np.ushortusigneret kort2 bytekan indeholde værdier fra 0 til 65.535
np.uintcusigneret int2 eller 4 bytekan indeholde værdier fra 0 til 65.535 eller 0 til 4.294.967.295
np.int_lang8 bytekan indeholde værdier fra -9223372036854775808 til 9223372036854775807
np.uintusigneret længe8 byte0 til 18446744073709551615
np.longlonglang lang8 bytekan indeholde værdier fra -9223372036854775808 til 9223372036854775807
np.ulonglongusigneret lang længe8 byte0 til 18446744073709551615
np.half / np.float16-tillader halv flydepræcision med
Format: sign bit, 5 bit eksponent, 10 bit mantissa
np.singleflyde4 bytetillader enkelt float-præcision
Format: sign bit, 8 bit eksponent, 23 bit mantissa
np.doubledobbelt8 bytemuliggør dobbelt flydepræcision
Format: sign bit, 11 bit eksponent, 52 bit mantissa.
np.longdoublelang dobbelt8 byteudvidelse af float
np.csinglefloat kompleks8 bytekan rumme komplekse med ægte og imaginære dele op til
enkelt præcision float
np.cdoubledobbelt kompleks16 bytekan rumme komplekse med ægte og imaginære dele op til
dobbelt-præcision float
np.clongdoublelangt dobbeltkompleks16 byteudvidelse af float for komplekst antal
np.int8int8_t1 bytekan indeholde værdier fra -128 til 127
np.int16int16_t2 bytekan indeholde værdier fra -32.768 til 32.767
np.int32int32_t4 bytekan indeholde værdier fra -2.147.483.648 til 2.147.483.647
np.int64int64_t8 bytekan indeholde værdier fra -9223372036854775808 til 9223372036854775807
np.uint8uint8_t1 bytekan indeholde værdier fra 0 til 255
np.uint16uint16_t2 bytekan indeholde værdier fra 0 til 65.535
np.uint32uint32_t4 bytekan indeholde værdier fra 0 til 4.294.967.295
np.uint64uint64_t8 bytekan indeholde værdier fra 0 til 18446744073709551615
np.intpintptr_t4 byteet signeret heltal brugt til indeksering
np.uintpuintptr_t4 byteet usigneret heltal, der bruges til at holde en markør
np.float32flyde4 byteenkelt float-præcision
np.float64dobbelt8 bytedobbelt float-præcision
np.complex64float kompleks8 byteenkelt float-præcision i komplekse tal
np.complex128dobbelt kompleks16 bytedobbelt float-præcision i komplekse tal

Eksempler på NumPy-datatyper

Lad os nu forstå, hvordan en bestemt numpy datatype bruges.

Eksempel 1

Oprettelse af et datatypeobjekt

dt = np.dtype(np.int8)

Produktion:

Eksempel 2

Find størrelsen på en datatype

dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)

Produktion:

Eksempel 3

Oprettelse af et datatypeobjekt ved hjælp af unikke symboler til hver datatype

Hver datatype i numpy har en tilknyttet karakterkode, der entydigt identificerer den.

dt = np.dtype('i4')

Produktion:

Eksempel 4

Brug af datatyper til at oprette en struktureret matrix

employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)

Produktion:

a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)

Produktion:

Konklusion

Numpy datatyper er mere eller mindre som C-datatyper. De kan groft kategoriseres i en bool, byte, int, flyder, dobbelt og kompleks. Det er et must for gode programmerere at forstå, hvordan data gemmes og manipuleres. Dette kan opnås ved at forstå datatyper effektivt.

Anbefalede artikler

Dette er en guide til NumPy-datatyper. Her diskuterer vi, hvordan en bestemt numpy datatype bruges sammen med eksemplerne. Du kan også se på de følgende artikler for at lære mere -

  1. Hvad er NumPy?
  2. Matplotlib i Python
  3. Python-datatyper
  4. Ordbog i Python

Kategori: