NumPy datatyper
- Föregående sida NumPy klipp array
- Nästa sida NumPy kopia/visning
Data typer i Python
Som standard har Python följande data typer:
strings
- Används för att representera textdata, texten är inramad med citattecken. Till exempel "ABCD".integer
- Används för att representera heltal. Till exempel -1, -2, -3.float
- Används för att representera reella tal. Till exempel 1.2, 42.42.boolean
- Används för att representera True eller False.complex
- Används för att representera numren i det komplexa planen. Till exempel 1.0 + 2.0j, 1.5 + 2.5j.
Data typer i NumPy
NumPy har några extra data typer, och de refereras av ett tecken för data typen, till exempel i
Repräsenterar heltal,u
Repräsenterar osignerade heltal och liknande.
Här är listan över alla data typer i NumPy samt de tecken som används för att representera dem.
i
- Heltalb
- Booleanu
- Osignerade heltalf
- Flyttalc
- Komplex flyttalm
- TidsskillnadM
- DatetidO
- ObjektS
- SträngarU
- Unicode-strängarV
- Fast minnesblock av andra typer (void)
Kontrollera arrayens data typ
NumPy-arrayobjektet har en egenskap som heter dtype
Egenskapen, som returnerar arrayens data typ:
Exempel
Hämta datatypen för arrayobjektet:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
Exempel
Hämta datatypen för en array som innehåller strängar:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
Skapa en array med redan definierad data typ
Vi använder array()
Funktionen för att skapa en array, som kan använda valfria parametrar:dtype
Det tillåter oss att definiera den förväntade data typen för arrayens element:
Exempel
Skapa en array med data typen definierad av en sträng:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
För i
、u
、f
、S
och U
Vi kan också definiera storlek.
Exempel
Skapa en array med data typen 4 bytes heltal:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
Vad händer om värdet inte kan konverteras?
Om det ges ett element som inte kan tvångsconverteras, kommer NumPy att utlösa ValueError.
ValueError: I Python kommer ett ValueError att utlösas om typen på de parametrar som överfördes till funktionen inte är förväntad eller felaktig.
Exempel
Det går inte att konvertera icke-heltalssträngar (t.ex. 'a') till heltal (det kommer att orsaka ett fel):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
Konvertera befintlig array datatyp
Det bästa sättet att ändra datatypen på en befintlig array är att använda astype()
metoden kopierar arrayen.
astype()
Funktionen skapar en kopia av arrayen och låter dig specificera datatypen som parameter.
Datatyper kan specificeras som strängar, till exempel 'f'
betyder flyttal:'i'
betyder heltal och liknande. Eller du kan också använda datatyper direkt, till exempel float
betyder flyttal:int
betyder heltal.
Exempel
Genom att använda 'i'
Som parametervärde, ändra datatyp från flyttal till heltal:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
Exempel
Genom att använda int
Som parametervärde, ändra datatyp från flyttal till heltal:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
Exempel
Ändra datatyp från heltal till boolesk:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
- Föregående sida NumPy klipp array
- Nästa sida NumPy kopia/visning