Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zähle ich unterschiedliche Werte nach Gruppen in Pandas?

Wie zähle ich unterschiedliche Werte nach Gruppen in Pandas?

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 13:23:01627Durchsuche

How to Count Distinct Values by Group in Pandas?

Pandas-Äquivalent: Eindeutige Zählung nach Gruppe

Bei der Verwendung von Pandas als Datenbankalternative ist es häufig erforderlich, komplexe Operationen wie die eindeutige Zählung nach durchzuführen Gruppe. In diesem Fall möchten wir die Anzahl der einzelnen Clients pro Jahr und Monat zählen.

In SQL kann dies mithilfe der Aggregatfunktion count(distinct) erreicht werden. Pandas bietet jedoch eine etwas andere Syntax für diesen Vorgang.

Um die unterschiedlichen Clients pro Jahr und Monat in Pandas zu zählen, können wir den folgenden Code verwenden:

<code class="python">table.groupby('YEARMONTH').CLIENTCODE.nunique()</code>

Die Funktion „groupby()“. Teilt den DataFrame basierend auf der angegebenen Spalte (in diesem Fall YEARMONTH) in Gruppen auf. Die Funktion nunique() zählt dann die Anzahl der eindeutigen Werte innerhalb jeder Gruppe.

Hier ist ein Beispiel zur Veranschaulichung:

<code class="python">import pandas as pd

# Create a DataFrame with sample data
data = {
    'YEARMONTH': ['201301', '201301', '201301', '201302', '201302', '201302', '201302'],
    'CLIENTCODE': [1, 1, 2, 1, 2, 2, 3]
}
table = pd.DataFrame(data)

# Count distinct clients per year month
result = table.groupby('YEARMONTH').CLIENTCODE.nunique()

print(result)</code>

Ausgabe:

YEARMONTH
201301    2
201302    3

Wie Sie Sie können sehen, dass das Ergebnis mit der erwarteten Ausgabe der SQL-Abfrage übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie zähle ich unterschiedliche Werte nach Gruppen in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn