Inleiding tot NumPy-gegevenstypen
Een gegevenstype is een attribuut dat aan de gegevens is gekoppeld en dat het soort waarden definieert dat de gegevens kunnen bevatten, het soort bewerkingen dat erop kan worden uitgevoerd en vooral de hoeveelheid geheugenruimte die het nodig heeft. Enkele van de meest voorkomende gegevenstypen zijn integer, real, boolean en char. In dit artikel zullen we proberen verschillende soorten gegevens te begrijpen die door Numpy worden ondersteund. Numpy is een python-pakket dat wordt gebruikt voor wetenschappelijk computergebruik. Het is puur geschreven in de programmeertaal C. Daarom kunnen we aannemen dat gegevenstypen in Numpy min of meer een upgrade van C-gegevenstypen zijn.
Numpy gegevenstypen
De verschillende gegevenstypen die worden ondersteund door numpy zijn:
Numpy gegevenstype | Nauw geassocieerd C-gegevenstype | Opslaggrootte | Beschrijving |
np.bool_ | bool | 1 byte | kan booleaanse waarden bevatten, zoals (waar of onwaar) of (0 of 1) |
np.byte | getekend char | 1 byte | kan waarden bevatten van 0 tot 255 |
np.ubyte | Ongetekend char | 1 byte | kan waarden bevatten van -128 tot 127 |
np.short | ondertekend kort | 2 bytes | kan waarden bevatten van -32.768 tot 32.767 |
np.ushort | niet ondertekend kort | 2 bytes | kan waarden bevatten van 0 tot 65.535 |
np.uintc | niet ondertekend int | 2 of 4 bytes | kan waarden bevatten van 0 tot 65.535 of 0 tot 4.294.967.295 |
np.int_ | lang | 8 bytes | kan waarden bevatten van -9223372036854775808 tot 9223372036854775807 |
np.uint | lang niet ondertekend | 8 bytes | 0 tot 18446744073709551615 |
np.longlong | lang Lang | 8 bytes | kan waarden bevatten van -9223372036854775808 tot 9223372036854775807 |
np.ulonglong | lang niet ondertekend | 8 bytes | 0 tot 18446744073709551615 |
np.half / np.float16 | - | maakt halfvlotprecisie mogelijk met Formaat: tekenbit, 5 bits exponent, 10 bits mantisse |
|
np.single | vlotter | 4 bytes | maakt enkele zwevende precisie mogelijk Formaat: tekenbit, 8 bits exponent, 23 bits mantisse |
np.double | dubbele | 8 bytes | maakt dubbele float-precisie mogelijk Formaat: tekenbit, 11 bits exponent, 52 bits mantisse. |
np.longdouble | lang dubbel | 8 bytes | uitbreiding van de vlotter |
np.csingle | drijvend complex | 8 bytes | kan complex zijn met echte en denkbeeldige delen tot vlotter met enkele precisie |
np.cdouble | dubbel complex | 16 bytes | kan complex zijn met echte en denkbeeldige delen tot dubbele precisie vlotter |
np.clongdouble | lang dubbel complex | 16 bytes | uitbreiding van vlotter voor complex aantal |
np.int8 | int8_t | 1 byte | kan waarden bevatten van -128 tot 127 |
np.int16 | int16_t | 2 bytes | kan waarden bevatten van -32.768 tot 32.767 |
np.int32 | int32_t | 4 bytes | kan waarden bevatten van -2.147.483.648 tot 2.147.483.647 |
np.int64 | int64_t | 8 bytes | kan waarden bevatten van -9223372036854775808 tot 9223372036854775807 |
np.uint8 | uint8_t | 1 byte | kan waarden bevatten van 0 tot 255 |
np.uint16 | uint16_t | 2 bytes | kan waarden bevatten van 0 tot 65.535 |
np.uint32 | uint32_t | 4 bytes | kan waarden bevatten van 0 tot 4.294.967.295 |
np.uint64 | uint64_t | 8 bytes | kan waarden bevatten van 0 tot 18446744073709551615 |
np.intp | intptr_t | 4 bytes | een geheel getal met teken dat wordt gebruikt voor indexering |
np.uintp | uintptr_t | 4 bytes | een geheel getal zonder teken dat wordt gebruikt voor het vasthouden van een aanwijzer |
np.float32 | vlotter | 4 bytes | enkele zwevende precisie |
np.float64 | dubbele | 8 bytes | dubbele vlotterprecisie |
np.complex64 | drijvend complex | 8 bytes | enkele zwevende precisie in complexe getallen |
np.complex128 | dubbel complex | 16 bytes | dubbele vlotterprecisie in complexe getallen |
Voorbeelden van NumPy-gegevenstypen
Laten we nu eens kijken hoe een bepaald numpy gegevenstype wordt gebruikt.
Voorbeeld 1
Een gegevenstype-object maken
dt = np.dtype(np.int8)
Output:
Voorbeeld 2
De grootte van een gegevenstype vinden
dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)
Output:
Voorbeeld 3
Een gegevenstype-object maken met unieke symbolen voor elk gegevenstype
Elk gegevenstype in nummer heeft een bijbehorende tekencode die deze uniek identificeert.
dt = np.dtype('i4')
Output:
Voorbeeld 4
Gegevenstypen gebruiken om een gestructureerde array te maken
employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)
Output:
a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)
Output:
Conclusie
Numpy-gegevenstypen lijken min of meer op de C-gegevenstypen. Ze kunnen grofweg worden onderverdeeld in een bool, byte, int, float, dubbel en complex. Het is een must voor goede programmeurs om te begrijpen hoe gegevens worden opgeslagen en gemanipuleerd. Dit kan worden bereikt door gegevenstypen effectief te begrijpen.
Aanbevolen artikelen
Dit is een handleiding voor NumPy-gegevenstypen. Hier bespreken we hoe een bepaald numpy gegevenstype samen met de voorbeelden wordt gebruikt. U kunt ook de volgende artikelen bekijken voor meer informatie -
- Wat is NumPy?
- Matplotlib In Python
- Python-gegevenstypen
- Woordenboek in Python