Heim >Backend-Entwicklung >Python-Tutorial >Wie gruppiere ich DataFrames nach zwei Spalten, zähle Vorkommen und finde die maximale Anzahl?

Wie gruppiere ich DataFrames nach zwei Spalten, zähle Vorkommen und finde die maximale Anzahl?

DDD
DDDOriginal
2024-10-23 12:10:02608Durchsuche

How to Groupby DataFrame by Two Columns, Count Occurrences, and Find Maximum Count?

Gruppieren Sie den DataFrame nach zwei Spalten und rufen Sie die Anzahl ab

In diesem Tutorial zeigen wir, wie Sie das Vorkommen von Kombinationen zweier Spalten in einem Pandas-DataFrame zählen und identifizieren maximale Anzahl für jeden eindeutigen Wert in einer der gruppierten Spalten.

Problemstellung

Beachten Sie den folgenden Pandas DataFrame df:

<code class="python">df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']</code>

Anzahl der Vorkommen

Um die Anzahl jeder eindeutigen Kombination von Spalte 5 und Spalte 2 in df zu erhalten, können wir die Groupby-Funktion gefolgt von der Größenmethode verwenden:

<code class="python">df.groupby(['col5', 'col2']).size()</code>

Die Ausgabe lautet:

col5  col2
1     A       1
      D       3
2     B       2
etc...

Maximale Anzahl für jeden col2-Wert ermitteln

Um die maximale Anzahl für jeden col2-Wert zu ermitteln, können wir die Größenmethode der Groupby-Funktion verwenden, um die Gruppengrößen zu berechnen, und dann Groupby auf der ersten Ebene verwenden, um das Maximum zu ermitteln für jeden eindeutigen col2-Wert:

<code class="python">df.groupby(['col5', 'col2']).size().groupby(level=1).max()</code>

Dies erzeugt die Ausgabe:

col2
A       3
B       2
C       1
D       3
dtype: int64

Das obige ist der detaillierte Inhalt vonWie gruppiere ich DataFrames nach zwei Spalten, zähle Vorkommen und finde die maximale Anzahl?. 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