Heim >Backend-Entwicklung >Python-Tutorial >Wie kann Pandas für jedes Jahr eine Clientzählung erreichen, die der SQL-Anzahl „count(distinct)' entspricht?

Wie kann Pandas für jedes Jahr eine Clientzählung erreichen, die der SQL-Anzahl „count(distinct)' entspricht?

DDD
DDDOriginal
2024-10-23 15:13:02339Durchsuche

How Can Pandas Achieve Client Counting Equivalent to SQL's 'count(distinct)' for Each Year?

Ermitteln der Anzahl eindeutiger Clients pro Jahr in Pandas, äquivalent zu SQLs „count(distinct)“

Zählen der eindeutigen Clients pro Jahr in SQL kann mit der folgenden Abfrage erreicht werden:

<code class="sql">SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;</code>

Um eine ähnliche Operation in Pandas durchzuführen, die häufig als Datenbankersatz verwendet wird, können Sie die Funktion nunique() neben der Methode groupby() verwenden:

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

Dieses Code-Snippet gruppiert die Datenrahmentabelle nach der Spalte „YEARMONTH“ und wendet dann die Funktion nunique() an, um die eindeutigen Kunden für jedes Jahr zu zählen. Das Ergebnis ist eine Pandas-Reihe mit den Jahresmonaten als Index und der Anzahl der einzelnen Kunden pro Jahr als Werten.

Zum Beispiel, wenn Ihre Tabelle die folgenden Daten enthält:

CLIENTCODE YEARMONTH
1 201301
1 201301
2 201301
1 201302
2 201302
2 201302
3 201302

Die Anwendung der Funktion nunique() erzeugt die folgende Ausgabe:

<code class="python">YEARMONTH
201301       2
201302       3</code>

Dieses Ergebnis zeigt an, dass es für 201301 zwei eindeutige Clients und für 201302 drei eindeutige Clients gibt.

Das obige ist der detaillierte Inhalt vonWie kann Pandas für jedes Jahr eine Clientzählung erreichen, die der SQL-Anzahl „count(distinct)' entspricht?. 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