NumPy datatyper

DataTyper i Python

Som standard har Python følgende dataTyper:

  • strings - Bruges til at repræsentere tekstdata, tekst omgivet af citationstegn. For eksempel "ABCD".
  • integer - Bruges til at repræsentere heltal. For eksempel -1, -2, -3.
  • float - Bruges til at repræsentere reelle tal. For eksempel 1.2, 42.42.
  • boolean - Bruges til at repræsentere True eller False.
  • complex - Bruges til at repræsentere tal i komplekse planer. For eksempel 1.0 + 2.0j, 1.5 + 2.5j.

DataTyper i NumPy

NumPy har nogle ekstra dataTyper, og de refereres gennem et tegn til dataTypen, for eksempel i Repræsenterer heltal,u Repræsenterer unsigned integers osv.

Her er en liste over alle dataTyper i NumPy samt de karakterer, der bruges til at repræsentere dem.

  • i - Heltal
  • b - Boolesk
  • u - Udgyldige heltal
  • f - Flydende tal
  • c - Kombineret flydende tal
  • m - Tidsinterval
  • M - Datotid
  • O - Objekt
  • S - Streng
  • U - Unicode streng
  • V - Fast blok af andre typer hukommelse ( void )

Tjek datatypen for arrayen

NumPy-arrayobjektet har en navn dtype ets egenskab, som returnerer arrayets datatype:

Eksempel

Få datatypen for en arrayobjekt:

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

Kør Eksempel

Eksempel

Få datatypen for en array, der indeholder strenge:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

Kør Eksempel

Opret en array med en defineret datatype

Vi bruger array() Funktionen til at oprette en array, som kan bruge valgfri parametre:dtype,den giver os mulighed for at definere den forventede datatype for arrayelementer:

Eksempel

Opret en array med en datatypestringsopgave:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

Kør Eksempel

For iufS og U,vi kan også definere størrelse.

Eksempel

Opret en array med data类型 4 byte integers:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

Kør Eksempel

Hvad hvis værdien ikke kan konverteres?

Hvis elementtypen ikke kan tværsættes, vil NumPy udløse en ValueError.

ValueError: I Python utlöses ValueError om den typ av parameter som överförs till en funktion inte är förväntad eller felaktig.

Eksempel

Kan ikke konvertere icke-heltalsstrengar (som 'a') til heltal (vil kasta ett fel):

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

Kør Eksempel

Konvertera datatypen på ett befintligt array

Det bedste sätt att ändra datatypen på ett befintligt array är att använda astype() metoden kopierer arrayet.

astype() Funktionen opretter en kopi af arrayet og lader dig specificere datatypen som parameter.

Datatyper kan specificeres som strenge, for eksempel 'f' betyder brøketal,'i' betyder heltal osv. Eller du kan også bruge datatyper direkte, for eksempel float betyder brøketal,int betyder heltal.

Eksempel

Ved at bruge 'i' Som parameterværdi ændr datatypen fra brøketal til 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 Eksempel

Eksempel

Ved at bruge int Som parameterværdi ændr datatypen fra brøketal til 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 Eksempel

Eksempel

Ændr datatypen fra heltal til boolesk værdi:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

Kør Eksempel