Tipi di dati NumPy

I tipi dati in Python

Per impostazione predefinita, Python ha i seguenti tipi dati:

  • strings - Utilizzati per rappresentare dati testuali, i testi sono racchiusi tra virgolette. Ad esempio "ABCD".
  • integer - Utilizzati per rappresentare interi. Ad esempio -1, -2, -3.
  • float - Utilizzati per rappresentare numeri reali. Ad esempio 1.2, 42.42.
  • boolean - Utilizzati per rappresentare True o False.
  • complex - Utilizzati per rappresentare numeri nel piano complesso. Ad esempio 1.0 + 2.0j, 1.5 + 2.5j.

I tipi dati in NumPy

NumPy ha alcuni tipi dati aggiuntivi, rappresentati da un carattere, ad esempio i Rappresenta interi,u Rappresenta interi senza segno e altro.

Ecco l'elenco di tutti i tipi dati in NumPy e i caratteri utilizzati per rappresentarli.

  • i - Intero
  • b - Booleano
  • u - Intero senza segno
  • f - Numero a virgola mobile
  • c - Numero complesso
  • m - Timedelta
  • M - Datetime
  • O - Oggetti
  • S - Stringhe
  • U - Stringhe unicode
  • V - Blocco di memoria di tipo fisso per altri tipi (void)

Controllare il tipo dati dell'array

Un oggetto array NumPy ha un attributo chiamato dtype L'attributo, che restituisce il tipo dati dell'array:

Esempio

Ottieni il tipo dati di un oggetto array:

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

Eseguire l'Esempio

Esempio

Ottieni il tipo dati di un array contenente stringhe:

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

Eseguire l'Esempio

Creare un array con un tipo dati definito

Usiamo array() La funzione per creare array, che può utilizzare parametri opzionali:dtypeche ci permette di definire il tipo dati degli elementi dell'array:

Esempio

Creare un array con una stringa di tipo dati:

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

Eseguire l'Esempio

Per iufS e UPossiamo anche definire la dimensione.

Esempio

Creare un array di interi a 4 byte:

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

Eseguire l'Esempio

Cosa succede se il valore non può essere convertito?

Se il tipo dell'elemento non può essere convertito forzatamente, NumPy solleva un ValueError.

ValueError: In Python, se il tipo di dati del parametro passato alla funzione non è quello previsto o corretto, viene lanciato un ValueError.

Esempio

Impossibile convertire una stringa non numerica (ad esempio 'a') in intero ( verrà lanciato un errore):

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

Eseguire l'Esempio

Convertire il tipo di dati di un array esistente

Il miglior metodo per modificare il tipo di dati di un array esistente è utilizzare astype() Il metodo copia l'array.

astype() La funzione crea una copia dell'array e ti permette di specificare il tipo di dati come parametro.

Il tipo di dati può essere specificato come stringa, ad esempio 'f' Rappresenta il numero decimale,'i' Rappresenta l'intero ecc. O si può anche utilizzare il tipo di dati, ad esempio float Rappresenta il numero decimale,int Rappresenta l'intero.

Esempio

Utilizzando 'i' Come valore di parametro, modificare il tipo di dati da numero a intero:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

Eseguire l'Esempio

Esempio

Utilizzando int Come valore di parametro, modificare il tipo di dati da numero a intero:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

Eseguire l'Esempio

Esempio

Modificare il tipo di dati da intero a booleano:

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

Eseguire l'Esempio