NumPy datatyper

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 - Heltal
  • b - Boolean
  • u - Osignerade heltal
  • f - Flyttal
  • c - Komplex flyttal
  • m - Tidsskillnad
  • M - Datetid
  • O - Objekt
  • S - Strängar
  • U - Unicode-strängar
  • V - 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)

Kör Exempel

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)

Kör Exempel

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:dtypeDet 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)

Kör Exempel

För iufS och UVi 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)

Kör Exempel

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')

Kör Exempel

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)

Kör Exempel

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)

Kör Exempel

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)

Kör Exempel