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
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())
Verwenden von np.searchsorted und groupby:
df['binned'] = np.searchsorted(bins, df['percentage'].values) print(df.groupby(df['binned']).size())
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
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!