Pandas Eindeutige Werte zählen

Suraj Joshi 30 Januar 2023
  1. Zählen eindeutiger Werte in einem DataFrame mit Series.value_counts()
  2. Eindeutige Werte in einem DataFrame zählen mit DataFrame.nunique()
Pandas Eindeutige Werte zählen

Dieses Tutorial erklärt, wie man mit den Methoden Series.value_counts() und DataFrame.nunique() alle eindeutigen Werte in einem DataFrame zählen kann.

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)

Ausgabe:

       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 

Anhand des DataFrames patients_df, der die Namen der Patienten, ihr Termindatum und ihr Alter enthält, wollen wir erklären, wie wir die Anzahl aller eindeutigen Werte in einem DataFrame ermitteln können.

Zählen eindeutiger Werte in einem DataFrame mit 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())

Ausgabe:

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

Es wird die Anzahl aller eindeutigen Werte der Spalte Date im DataFrame angezeigt.

Eindeutige Werte in einem DataFrame zählen mit 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())

Ausgabe:

       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

Der DataFrame wird basierend auf dem Wert der Spalte Date aufgeteilt, d.h. Zeilen mit demselben Wert der Spalte Date werden in derselben Gruppe platziert und dann wird das Auftreten jedes Namens in einer bestimmten Gruppe gezählt, um die Anzahl der einzelnen eindeutigen Werte der Spalte Date im DataFrame zu ermitteln.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn