Pandas conta i valori unici

Suraj Joshi 30 gennaio 2023
  1. Contare i valori univoci in un DataFrame utilizzando Series.value_counts()
  2. Contare i valori univoci in un DataFrame utilizzando DataFrame.nunique()
Pandas conta i valori unici

Questo tutorial spiega come possiamo ottenere il conteggio di tutti i valori univoci in un DataFrame usando i metodi Series.value_counts() e DataFrame.nunique().

import pandas as pd

patients_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Date": [
            "2020-12-01",
            "2020-12-01",
            "2020-12-02",
            "2020-12-02",
            "2020-12-02",
            "2020-12-03",
        ],
        "Age": [17, 18, 17, 16, 18, 16],
    }
)

print(patients_df)

Produzione:

       Name        Date  Age
0  Jennifer  2020-12-01   17
1    Travis  2020-12-01   18
2       Bob  2020-12-02   17
3      Emma  2020-12-02   16
4      Luna  2020-12-02   18
5     Anish  2020-12-03   16 

Useremo il DataFrame patients_df, che contiene i nomi dei pazienti, la data dell’appuntamento e l’età, per spiegare come possiamo ottenere il conteggio di tutti i valori univoci in un DataFrame.

Contare i valori univoci in un DataFrame utilizzando Series.value_counts()

import pandas as pd

patients_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Date": [
            "2020-12-01",
            "2020-12-01",
            "2020-12-02",
            "2020-12-02",
            "2020-12-02",
            "2020-12-03",
        ],
        "Age": [17, 18, 17, 16, 18, 16],
    }
)

print("The DataFrame is:")
print(patients_df, "\n")

print("No of appointments for each date:")
print(patients_df["Date"].value_counts())

Produzione:

The DataFrame is:
       Name        Date  Age
0  Jennifer  2020-12-01   17
1    Travis  2020-12-01   18
2       Bob  2020-12-02   17
3      Emma  2020-12-02   16
4      Luna  2020-12-02   18
5     Anish  2020-12-03   16 

No of appointments for each date:
2020-12-02    3
2020-12-01    2
2020-12-03    1
Name: Date, dtype: int64

Visualizza il conteggio di ogni valore univoco della colonna Data nel DataFrame.

Contare i valori univoci in un DataFrame utilizzando DataFrame.nunique()

import pandas as pd

patients_df = pd.DataFrame(
    {
        "Name": ["Jennifer", "Travis", "Bob", "Emma", "Luna", "Anish"],
        "Date": [
            "2020-12-01",
            "2020-12-01",
            "2020-12-02",
            "2020-12-02",
            "2020-12-02",
            "2020-12-03",
        ],
        "Age": [17, 18, 17, 16, 18, 16],
    }
)

print(patients_df, "\n")

print(patients_df.groupby("Date").Name.nunique())

Produzione:

       Name        Date  Age
0  Jennifer  2020-12-01   17
1    Travis  2020-12-01   18
2       Bob  2020-12-02   17
3      Emma  2020-12-02   16
4      Luna  2020-12-02   18
5     Anish  2020-12-03   16 

Date
2020-12-01    2
2020-12-02    3
2020-12-03    1
Name: Name, dtype: int64

Divide il DataFrame in base al valore della colonna Date cioè, le righe con lo stesso valore di Date sono collocate nello stesso gruppo e poi conta l’occorrenza di ogni nome in un particolare gruppo per conoscere il conteggio di ogni univoco valore della colonna Date nel DataFrame.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn