Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Pandas-Spalte effizient einteilen und die Werte in jedem Behälter zählen?

Wie kann ich eine Pandas-Spalte effizient einteilen und die Werte in jedem Behälter zählen?

Susan Sarandon
Freigeben: 2024-12-09 19:17:17
Original
337 Leute haben es durchsucht

How to Efficiently Bin a Pandas Column and Count Values in Each Bin?

Gruppieren einer Spalte mit Pandas

Bei der Datenanalyse ist es oft nützlich, Daten in Kategorien zu gruppieren, um ihre Darstellung und Analyse zu vereinfachen. Dies ist eine gängige Technik bei der Arbeit mit numerischen Daten, beispielsweise beim Umgang mit Prozentsätzen.

Angenommen, wir haben eine Datenrahmenspalte mit dem Namen „Prozentsatz“, die numerische Werte enthält, wie unten gezeigt:

df['percentage'].head()
46.5
44.2
100.0
42.12
Nach dem Login kopieren

Um diese Spalte zu unterteilen und die Wertanzahl für jede Unterteilung zu erhalten, können wir die Funktion pd.cut verwenden. Hier sind zwei Möglichkeiten, dies zu erreichen:

Verwenden von pd.cut mit value_counts:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
print(df.groupby(df['binned']).size())
Nach dem Login kopieren

Verwenden von np.searchsorted und groupby:

df['binned'] = np.searchsorted(bins, df['percentage'].values)
print(df.groupby(df['binned']).size())
Nach dem Login kopieren

Beide Methoden geben Folgendes zurück Ausgabe:

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64
Nach dem Login kopieren

Diese Ausgabe zeigt an, dass in den Bins (0, 1], (1, 5], (5, 10] und (10, 25) keine Werte vorhanden sind. Drei Werte fallen in der Bin (25, 50], und ein Wert fällt in die Bin (50, 100).

Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas-Spalte effizient einteilen und die Werte in jedem Behälter zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage