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 datatype | Tæt tilknyttet C-datatype | Opbevaring Størrelse | Beskrivelse |
np.bool_ | bool | 1 byte | kan indeholde booleske værdier, som (sandt eller falskt) eller (0 eller 1) |
np.byte | underskrevet char | 1 byte | kan indeholde værdier fra 0 til 255 |
np.ubyte | usigneret char | 1 byte | kan indeholde værdier fra -128 til 127 |
np.short | underskrevet kort | 2 byte | kan indeholde værdier fra -32.768 til 32.767 |
np.ushort | usigneret kort | 2 byte | kan indeholde værdier fra 0 til 65.535 |
np.uintc | usigneret int | 2 eller 4 byte | kan indeholde værdier fra 0 til 65.535 eller 0 til 4.294.967.295 |
np.int_ | lang | 8 byte | kan indeholde værdier fra -9223372036854775808 til 9223372036854775807 |
np.uint | usigneret længe | 8 byte | 0 til 18446744073709551615 |
np.longlong | lang lang | 8 byte | kan indeholde værdier fra -9223372036854775808 til 9223372036854775807 |
np.ulonglong | usigneret lang længe | 8 byte | 0 til 18446744073709551615 |
np.half / np.float16 | - | tillader halv flydepræcision med Format: sign bit, 5 bit eksponent, 10 bit mantissa |
|
np.single | flyde | 4 byte | tillader enkelt float-præcision Format: sign bit, 8 bit eksponent, 23 bit mantissa |
np.double | dobbelt | 8 byte | muliggør dobbelt flydepræcision Format: sign bit, 11 bit eksponent, 52 bit mantissa. |
np.longdouble | lang dobbelt | 8 byte | udvidelse af float |
np.csingle | float kompleks | 8 byte | kan rumme komplekse med ægte og imaginære dele op til enkelt præcision float |
np.cdouble | dobbelt kompleks | 16 byte | kan rumme komplekse med ægte og imaginære dele op til dobbelt-præcision float |
np.clongdouble | langt dobbeltkompleks | 16 byte | udvidelse af float for komplekst antal |
np.int8 | int8_t | 1 byte | kan indeholde værdier fra -128 til 127 |
np.int16 | int16_t | 2 byte | kan indeholde værdier fra -32.768 til 32.767 |
np.int32 | int32_t | 4 byte | kan indeholde værdier fra -2.147.483.648 til 2.147.483.647 |
np.int64 | int64_t | 8 byte | kan indeholde værdier fra -9223372036854775808 til 9223372036854775807 |
np.uint8 | uint8_t | 1 byte | kan indeholde værdier fra 0 til 255 |
np.uint16 | uint16_t | 2 byte | kan indeholde værdier fra 0 til 65.535 |
np.uint32 | uint32_t | 4 byte | kan indeholde værdier fra 0 til 4.294.967.295 |
np.uint64 | uint64_t | 8 byte | kan indeholde værdier fra 0 til 18446744073709551615 |
np.intp | intptr_t | 4 byte | et signeret heltal brugt til indeksering |
np.uintp | uintptr_t | 4 byte | et usigneret heltal, der bruges til at holde en markør |
np.float32 | flyde | 4 byte | enkelt float-præcision |
np.float64 | dobbelt | 8 byte | dobbelt float-præcision |
np.complex64 | float kompleks | 8 byte | enkelt float-præcision i komplekse tal |
np.complex128 | dobbelt kompleks | 16 byte | dobbelt 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 -
- Hvad er NumPy?
- Matplotlib i Python
- Python-datatyper
- Ordbog i Python