API · Pandas
Metodo Pandas Series.nunique()
Il metodo Pandas Series.nunique conta i valori univoci nella serie Python Pandas.
In questa pagina
Series.nunique() restituisce come numero intero il numero di valori distinti presenti in una Series di pandas. Risponde alla domanda «quanti valori diversi sono presenti?», ma non restituisce i valori stessi. Usalo per contare categorie, identificatori o misurazioni distinti quando ti serve un riepilogo compatto di una colonna.
Come Series.nunique() conta i valori distinti
Ogni valore distinto non mancante contribuisce per uno al conteggio, indipendentemente dal numero di volte in cui compare. Con l’impostazione predefinita, i valori mancanti come NaN non contribuiscono al conteggio. Di conseguenza, i valori ripetuti vengono contati una sola volta e tutte le occorrenze ripetute di NaN sono escluse. Questa distinzione è importante quando confronti il numero di categorie: con il comportamento predefinito, un valore mancante non è considerato una categoria.
Sintassi e parametro dropna
La firma del metodo è Series.nunique(dropna=True). L’argomento dropna è un’opzione booleana e, per impostazione predefinita, vale True. Lascia questa impostazione invariata se vuoi sapere quanti valori distinti noti contiene la Series. Passa dropna=False quando vuoi conteggiare i valori mancanti come un ulteriore valore distinto. Anche se sono presenti più valori mancanti, questi contribuiscono al totale una sola volta: non incrementano il conteggio separatamente.
Il metodo restituisce un numero intero anche quando la Series non contiene valori da conteggiare. Se non ci sono valori mancanti, modificare dropna non cambia il risultato. Per una Series vuota, il conteggio dei valori distinti è 0; per una Series composta solo da valori mancanti, il conteggio predefinito è 0, mentre con dropna=False è 1. Questi casi aiutano a distinguere tra «nessuna categoria osservata» e «valori mancanti trattati come una categoria».
Contare i valori distinti in una Series
Esegui questo esempio:
Il codice e le etichette o gli output visibili in questa sezione restano in inglese.
import numpy as np
import pandas as pd
values = pd.Series([1, 2, 3, np.nan, 3, 4, np.nan], name="No.")
print(values.nunique())
4
La Series contiene quattro valori distinti non mancanti: 1, 2, 3 e 4. Il valore 3 ripetuto contribuisce una sola volta e l’impostazione predefinita dropna=True esclude entrambe le occorrenze di NaN, quindi il conteggio è 4. In un’applicazione, puoi salvare questo numero intero o usarlo in un report quando ti serve il totale dei valori distinti anziché un elenco dei valori.
Includere i valori mancanti con dropna=False
Usa gli stessi dati e imposta dropna=False per conteggiare i valori mancanti come un unico valore distinto:
Il codice e le etichette o gli output visibili in questa sezione restano in inglese.
import numpy as np
import pandas as pd
values = pd.Series([1, 2, 3, np.nan, 3, 4, np.nan], name="No.")
print(values.nunique(dropna=False))
5
Il conteggio è 5: i quattro valori non mancanti più un unico valore mancante distinto. Anche se questa Series contiene due occorrenze di NaN, ai fini del conteggio rappresentano la stessa categoria di valori mancanti. Scegli l’opzione in base alla domanda: usa l’impostazione predefinita per contare i valori noti, oppure dropna=False se la presenza di dati mancanti deve aggiungere uno al conteggio dei valori distinti. Questa impostazione cambia solo se i valori mancanti partecipano al conteggio; i valori ordinari ripetuti continuano a essere contati una sola volta in entrambi i casi.