Tutorial Numpy - Tipo di dati e conversione NumPy

Jinku Hu 18 febbraio 2025
  1. Tipo di dati NumPy
  2. Conversione del tipo di dati
Abbiamo creato un video dettagliato su YouTube per accompagnare questo articolo, incorporato qui sotto!
Tutorial Numpy - Tipo di dati e conversione NumPy

Il tipo di dati - dtype in NumPy è diverso dai tipi di dati primitivi in Python, per esempio, dtype ha il tipo con risoluzione più alta che è utile nel calcolo dei dati.

Tipo di dati NumPy

Tipo di dati Descrizione
bool Booleano
int8 8-bit firmato intero
int16 16-bit firmato intero
int32 intero firmato a 32 bit
int64 64-bit firmato intero
uint8 8-bit non firmato intero
uint16 16 bit non firmato intero
uint32 32-bit non firmato intero
uint64 64-bit non firmato intero
float16 Numero in virgola mobile a 16 bit
float32 Numero in virgola mobile a 32 bit
float64 Numero a virgola mobile a 64 bit
complex64 Numero complesso a 64 bit
complex128 Numero complesso a 128 bit

Quando si crea un nuovo dato ndarray, si può definire il tipo di dati dell’elemento per stringa o per costanti di tipo di dati nella libreria NumPy.

import numpy as np

# by string
test = np.array([4, 5, 6], dtype="int64")

# by data type constant in numpy
test = np.array([7, 8, 8], dtype=np.int64)

Conversione del tipo di dati

Dopo che l’istanza di dati è stata creata, si può cambiare il tipo dell’elemento con il metodo astype(), come ad esempio da intero a fluttuante e così via.

>>> import numpy as np
>>> test = np.array([11, 12, 13, 14], dtype="int32")
>>> x = test.astype('float32')
>>> x
array([11., 12., 13., 14.], dtype=float32)
>>> test, test.dtype
(array([11, 12, 13, 14]), dtype('int32'))
Attenzione
Il metodo di conversione del tipo di dati restituirà solo una nuova istanza dell’array, e i dati e le informazioni dell’istanza originale dell’array non sono cambiati.
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook