Übersetzen von SQLs COUNT(DISTINCT) in Pandas-Äquivalente
Im Bereich der Datenmanipulation hat sich Pandas als leistungsstarkes Werkzeug für die Tabellenverwaltung herausgestellt Daten. Beim Umgang mit unterschiedlichen Datenquellen wie Oracle und SQL Server können Benutzer auf Schwierigkeiten stoßen, SQL-Abfragen in effiziente Pandas-Operationen zu übersetzen. Eine häufige Aufgabe besteht darin, die Anzahl unterschiedlicher Werte zu zählen – eine Aufgabe, die ein „Äquivalent“ zur SQL-Funktion COUNT(DISTINCT) erfordert.
Um dies in Pandas zu erreichen, beginnen wir mit der Erkundung einer Tabelle mit Spalten repräsentiert YEARMONTH, CLIENTCODE und verschiedene andere Attribute. In SQL kann das Zählen unterschiedlicher Kunden pro Jahr mit der folgenden Abfrage durchgeführt werden:
SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;
Diese Abfrage liefert ein Ergebnis, das die Anzahl unterschiedlicher Kunden für jedes Jahr anzeigt. Wie können wir diese Funktionalität in Pandas replizieren?
Die Lösung liegt in der Verwendung der nunique()-Methode:
table.groupby('YEARMONTH').CLIENTCODE.nunique()
Dieser Ausdruck gruppiert die Daten nach der Spalte YEARMONTH und wendet nunique() an -Methode zur CLIENTCODE-Reihe innerhalb jeder Gruppe hinzufügen. Das Ergebnis ist ein DataFrame, der die YEARMONTH-Werte zusammen mit der Anzahl der einzelnen Kunden für jedes Jahr auflistet.
Betrachten Sie zur Veranschaulichung eine Beispiel-DataFrame-Tabelle mit dem Namen:
CLIENTCODE YEARMONTH 0 1 201301 1 1 201301 2 2 201301 3 1 201302 4 2 201302 5 2 201302 6 3 201302
Anwenden der Nunique( ) Methode ergibt:
YEARMONTH 201301 2 201302 3
Daher bietet die nunique()-Methode von Pandas die entsprechende Funktionalität wie COUNT(DISTINCT) von SQL zum effizienten Zählen unterschiedlicher Werte innerhalb einer bestimmten Spalte.
Das obige ist der detaillierte Inhalt vonÜbersetzen von SQLs COUNT(DISTINCT) in Pandas: Wie verwende ich die nunique()-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!