Il metodo dtype di Python Numpy

Il metodo dtype della libreria NumPy di Python mi permette di capire il tipo di dati di un oggetto array.

x.dtype

L'argomento x è un oggetto di tipo array.

Posso anche usare dtype come attributo della funzione array().

array(x, dtype=tipo)

Se usato come attributo dtype definisce il tipo di dati dell'array al momento della creazione, indipendentemente dai valori che contiene.

Un esempio pratico

Esempio 1

Importo la libreria numpy e creo un array.

>>> import numpy as np
>>> M=np.array([1,2,3,3.1,4])

Il vettore è composto da quattro numeri interi (1,2,3,4) e un numero decimale (3.1).

Poi uso il metodo dtype per vedere il tipo di dati dell'array

>>> M.dtype

L'oggetto contiene valori numerici a virgola mobile a 64 bit ( float64 ).

dtype('float64')

A differenza delle liste, un array deve avere tutti gli elementi omogenei, dello stesso tipo.

Essendoci un valore decimale (3.1) tutti i dati sono definiti a virgola mobile.

>>> M
array([1. , 2. , 3. , 3.1, 4. ])

I valori inizialmente interi sono stati trasformati automaticamente nel formato a virgola mobile.

Esempio 2

Con l'attributo dtype posso imporre un particolare tipo di dato quando creo un array.

In questo esempio definisco l'array di tipo intero con l'attributo dtype.

>>> M=np.array([1,2,3,3.1,4], dtype=int)

Poi visualizzo il suo contenuto del vettore

>>> M
array([1, 2, 3, 3, 4])

Il valore decimale (3.1) è stato automaticamente convertito in numero intero.

A questo punto verifico il tipo di dato dell'array con il metodo dtype.

M.dtype

Il metodo mi restituisce il tipo di dato

dtype('int32')

L'array contiene valori numerici interi a 32 bit.

Quali sono i tipi di dati

Le principali tipologie di dati di un array di NumPy sono:

  • int interi
  • uint interi positivi ( non negativi )
  • float virgola mobile
  • bool booleani ( vero o falso )
  • complex complessi

A ogni tipo di dato, a parte quello booleano, è anche specificato un livello di precisione.

8 bit 16 bit 32 bit 64 bit 128 bit 256 bit
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64
float float16 float32 float64 float128
complex complex64 complex128 complex256

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Numpy

I metodi e le funzioni