Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Pandas DataFrame-Spalte einteilen und Werte in jedem Bin zählen?

Wie kann ich eine Pandas DataFrame-Spalte einteilen und Werte in jedem Bin zählen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-16 19:21:12786Durchsuche

How Can I Bin a Pandas DataFrame Column and Count Values in Each Bin?

Gruppieren einer Spalte mit Pandas

Bei der Datenmanipulation geht es oft darum, Werte in sinnvollen Gruppen oder Bins zu organisieren. In diesem Zusammenhang werden wir untersuchen, wie man mithilfe von Pandas eine Spalte mit numerischen Werten einteilt.

Frage:

Angesichts einer Datenrahmenspalte mit numerischen Werten möchten wir dies tun Stellen Sie es sich als Behälter mit Wertzählungen vor. Wie können wir konkret die Anzahl der Werte bestimmen, die in jede Bin fallen?

Antwort:

Option 1: Verwendung von pandas.cut

Mit der Funktion pandas.cut können Bins erstellt werden. Hier ist ein Beispiel:

import pandas as pd

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
df['binned'].value_counts()

Dadurch werden Bins gemäß den angegebenen Intervallen erstellt und eine Reihe zurückgegeben, die die Bin-Zuordnungen für jeden Wert enthält. Mit value_counts können wir die Anzahl der Vorkommen in jedem Bin zählen.

Option 2: Verwendung von numpy.searchsorted

Ein anderer Ansatz ist die Verwendung von numpy.searchsorted:

import numpy as np

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = np.searchsorted(bins, df['percentage'].values)
df['binned'].value_counts()

Diese Funktion gibt den Index des ersten Bins zurück, zu dem jeder Wert gehört. Wir können dann value_counts verwenden, um die Bin-Anzahl zu bestimmen.

Option 3: Kombinieren von Groupby und Size

Wir können auch die Groupby- und Size-Methoden von Pandas verwenden:

s = df.groupby(pd.cut(df['percentage'], bins)).size()

Dadurch wird der Datenrahmen nach den Bin-Zuweisungen gruppiert und eine Reihe mit der Anzahl der Werte in jedem zurückgegeben bin.

Fazit:

Diese Methoden ermöglichen es uns, eine numerische Spalte effektiv zu unterteilen und Wertanzahlen für jedes Fach zu erhalten, was Einblicke in die Verteilung von Werten liefert.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas DataFrame-Spalte einteilen und Werte in jedem Bin zählen?. 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