Pandas: erstellen sie eine häufigkeitstabelle basierend auf mehreren spalten


Sie können die folgende grundlegende Syntax verwenden, um eine Häufigkeitstabelle in Pandas basierend auf mehreren Spalten zu erstellen:

 df. value_counts ([' column1 ',' column2 '])

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Erstellen Sie eine Häufigkeitstabelle in Pandas basierend auf mehreren Spalten

Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über den Teamnamen, die Position und die von verschiedenen Basketballspielern erzielten Punkte enthält:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

Mit der Funktion value_counts() können wir eine Häufigkeitstabelle erstellen, die das Vorkommen jeder Wertekombination in den Team- und Positionsspalten zeigt:

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

Aus den Ergebnissen können wir sehen:

  • Es gibt 3 Auftritte von Team A und Position G
  • Es gibt 2 Auftritte von Team B und Position F
  • Es gibt 2 Auftritte von Team B und Position G
  • Es gibt 1 Auftritt von Team A und Position F

Beachten Sie, dass wir stattdessen reset_index() verwenden können, um einen DataFrame zurückzugeben:

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Wir können die Funktion rename() verwenden, um die Spalte umzubenennen, die die Zählungen enthält:

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Das Endergebnis ist ein DataFrame, der die Häufigkeit jeder eindeutigen Wertekombination in den Spalten Team und Position enthält.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere häufige Aufgaben in Pandas ausgeführt werden:

Pandas: So verwenden Sie GroupBy und Wertzählungen
Pandas: So verwenden Sie GroupBy mit Bin-Anzahl
Pandas: So zählen Sie Werte in einer Spalte mit Bedingung

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert