Tipi di dati Python per la data science
int, float, complex, bool, str: come precisione e scelta del tipo influenzano l’analisi dei dati.
Tipi di dati Python per la data science è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
I numeri nella data science
Python dispone di due tipi numerici fondamentali: int (numeri interi a precisione arbitraria) e float (numeri decimali IEEE 754 a 64 bit). Scegliere quello corretto previene errori nei dati difficili da individuare.
int è esatto e senza limiti
Gli interi Python non vanno mai in overflow. Crescono fino alle dimensioni consentite dalla memoria, caratteristica ideale per i conteggi esatti e i fattoriali grandi.
big = 2 ** 200
print(big)
print(type(big)) # <class 'int'>Problemi di precisione dei float
I float non possono rappresentare esattamente ogni numero decimale. Il caso classico è questo: 0.1 + 0.2 non è esattamente 0.3.
print(0.1 + 0.2) # 0.30000000000000004
print(0.1 + 0.2 == 0.3) # FalseConfrontare i float in modo sicuro
Non verifichi mai i float con ==. Usi invece math.isclose con una tolleranza.
import math
print(math.isclose(0.1 + 0.2, 0.3)) # TrueDecimal per il denaro
Per le valute, usi decimal.Decimal, che memorizza valori esatti in base 10. Crei sempre i Decimal a partire da stringhe, non da float, per evitare di ereditare gli errori dei float.
from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price) # 0.30bool è una sottoclasse di int
In Python True equivale a 1 e False equivale a 0. Questo permette di sommare i valori booleani per contare le corrispondenze.
mask = [True, False, True, True]
print(sum(mask)) # 3 matches
print(True + True) # 2Conteggio con i valori booleani
Questo comportamento di bool come int è presente ovunque in NumPy e pandas: sommare una maschera booleana conta quante righe soddisfano una condizione.
ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults) # 3Ispezionare il tipo con type()
type(x) restituisce la classe esatta di un valore. È utile quando una colonna contiene inaspettatamente stringhe invece di numeri.
print(type(5)) # <class 'int'>
print(type(5.0)) # <class 'float'>
print(type("5")) # <class 'str'>Controllare il tipo con isinstance()
Preferisca isinstance a type ==, perché tiene conto dell'ereditarietà. Noti che un bool supera un controllo per int.
print(isinstance(5, int)) # True
print(isinstance(True, int)) # True (bool subclasses int)
print(isinstance(5.0, (int, float))) # TrueProblemi di coercizione
La combinazione di tipi diversi provoca conversioni implicite. La divisione tra interi con operandi float produce float; concatenare un numero con una stringa genera un TypeError. Pulisca i tipi dei dati fin dalle prime fasi.
print(5 / 2) # 2.5 (true division always float)
print(5 // 2) # 2 (floor division)
# "id-" + 5 # TypeError
print("id-" + str(5)) # id-5Sorp rese dei float nelle aggregazioni
La somma di molti float accumula piccoli errori. Per i dataset di grandi dimensioni, preferisca NumPy, che usa la somma a coppie per ridurre la deriva numerica.
vals = [0.1] * 10
print(sum(vals)) # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stableControllo rapido
Verifichi la Sua comprensione dei tipi Python.
Riepilogo
Fatti numerici fondamentali per lavorare con i dati:
intè esatto e senza limitifloatè approssimato: usimath.iscloseinvece di==Decimal("...")per il denaroboolè un int:sum(mask)esegue il conteggiotype()mostra la classe, mentreisinstance()tiene conto dell'ereditarietà- Faccia attenzione alle conversioni implicite nella divisione e nella concatenazione
Domande Frequenti
La lezione «Tipi di dati Python per la data science» è gratuita?
Sì — il testo completo di «Tipi di dati Python per la data science» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Tipi di dati Python per la data science»?
int, float, complex, bool, str: come precisione e scelta del tipo influenzano l’analisi dei dati. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Tipi di dati Python per la data science»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Ambienti virtuali e pip
- Notebook Jupyter per la data science
- Tipi di dati Python per la data science
- Utilizzo della REPL Python e di IPython