Introduktion till NumPy-datatyper
En datatyp är ett attribut som är associerat med data som definierar vilken typ av värden som data kan innehålla, vilken typ av operationer som kan utföras på den och viktigast av allt hur mycket minne som krävs av den. Några av de mycket vanliga datatyperna är heltal, verkliga, booleska och char. I den här artikeln kommer vi att försöka förstå olika datatyper som stöds av Numpy. Numpy är ett pythonpaket som används för vetenskaplig databehandling. Det är rent skrivet på programmeringsspråket C. Därför kan vi anta att datatyper i Numpy mer eller mindre är en uppgradering av C-datatyper.
Numpy datatyper
De olika datatyper som stöds av numpy är:
Numpy datatyp | Nära tillhörande C-datatyp | Lagringsstorlek | Beskrivning |
np.bool_ | bool | 1 byte | kan innehålla booleska värden, som (sant eller falskt) eller (0 eller 1) |
np.byte | signerad char | 1 byte | kan hålla värden från 0 till 255 |
np.ubyte | unsign char | 1 byte | kan hålla värden från -128 till 127 |
np.short | signerad kort | 2 byte | kan innehålla värden från -32, 768 till 32, 767 |
np.ushort | osignerad kort | 2 byte | kan hålla värden från 0 till 65 535 |
np.uintc | osignerad int | 2 eller 4 byte | kan innehålla värden från 0 till 65, 535 eller 0 till 4 294 967 295 |
np.int_ | lång | 8 byte | kan innehålla värden från -9223372036854775808 till 9223372036854775807 |
np.uint | osignerad länge | 8 byte | 0 till 18446744073709551615 |
np.longlong | lång lång | 8 byte | kan innehålla värden från -9223372036854775808 till 9223372036854775807 |
np.ulonglong | osignerad lång länge | 8 byte | 0 till 18446744073709551615 |
np.half / np.float16 | - | möjliggör halv flottörprecision med Format: sign bit, 5 bit exponent, 10 bit mantissa |
|
np.single | flyta | 4 bytes | möjliggör enkel floatprecision Format: sign bit, 8 bit exponent, 23 bit mantissa |
np.double | dubbel- | 8 byte | möjliggör dubbel flottörprecision Format: sign bit, 11 bit exponent, 52 bit mantissa. |
np.longdouble | lång dubbel | 8 byte | förlängning av flottör |
np.csingle | flottörkomplex | 8 byte | kan hålla komplexa med verkliga och imaginära delar upp till enkel precision float |
np.cdouble | dubbelkomplex | 16 byte | kan hålla komplexa med verkliga och imaginära delar upp till dubbla precision float |
np.clongdouble | lång dubbelkomplex | 16 byte | förlängning av flottör för komplexa nummer |
np.int8 | int8_t | 1 byte | kan hålla värden från -128 till 127 |
np.int16 | int16_t | 2 byte | kan innehålla värden från -32, 768 till 32, 767 |
np.int32 | int32_t | 4 bytes | kan innehålla värden från -2 1447 483 648 till 2 147 473 647 |
np.int64 | int64_t | 8 byte | kan innehålla värden från -9223372036854775808 till 9223372036854775807 |
np.uint8 | uint8_t | 1 byte | kan hålla värden från 0 till 255 |
np.uint16 | uint16_t | 2 byte | kan hålla värden från 0 till 65 535 |
np.uint32 | uint32_t | 4 bytes | kan innehålla värden från 0 till 4 294 967 295 |
np.uint64 | uint64_t | 8 byte | kan innehålla värden från 0 till 18446744073709551615 |
np.intp | intptr_t | 4 bytes | ett signerat heltal som används för indexering |
np.uintp | uintptr_t | 4 bytes | ett osignerat heltal som används för att hålla en pekare |
np.float32 | flyta | 4 bytes | enda flottörprecision |
np.float64 | dubbel- | 8 byte | dubbel flottörprecision |
np.complex64 | flottörkomplex | 8 byte | enkel floatprecision i komplexa antal |
np.complex128 | dubbelkomplex | 16 byte | dubbel flottörprecision i komplexa antal |
Exempel på NumPy-datatyper
Låt oss nu förstå hur en viss numpy datatyp används.
Exempel 1
Skapa ett datatypobjekt
dt = np.dtype(np.int8)
Produktion:
Exempel 2
Hitta storleken på en datatyp
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Produktion:
Exempel 3
Skapa ett datatypobjekt med unika symboler för varje datatyp
Varje datatyp i numpy har en tillhörande teckenkod som identifierar den unikt.
dt = np.dtype('i4')
Produktion:
Exempel 4
Använda datatyper för att skapa en strukturerad matris
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:
Slutsats
Numpiga datatyper är mer eller mindre som C-datatyper. De kan grovt kategoriseras i en bool, byte, int, float, dubbel och komplex. Det är ett måste för goda programmerare att förstå hur data lagras och manipuleras. Detta kan uppnås genom att förstå datatyper effektivt.
Rekommenderade artiklar
Detta är en guide till NumPy-datatyper. Här diskuterar vi hur en viss numpy datatyp används tillsammans med exemplen. Du kan också titta på följande artiklar för att lära dig mer -
- Vad är NumPy?
- Matplotlib I Python
- Python-datatyper
- Ordbok i Python