首頁 >後端開發 >Python教學 >如何將 Pandas DataFrame 中的數字資料分箱並對每個分箱內的值進行計數?

如何將 Pandas DataFrame 中的數字資料分箱並對每個分箱內的值進行計數?

Barbara Streisand
Barbara Streisand原創
2024-12-15 20:55:09742瀏覽

How Can I Bin Numeric Data in a Pandas DataFrame and Count Values within Each Bin?

用pandas 對列進行裝箱以獲取值計數

在pandas 資料框中處理數字資料時,裝箱可能很有用將資料劃分為特定範圍進行分析。此過程稱為分箱。

要對 pandas 中的列進行分箱,您可以使用以下步驟:

  1. 使用 bins 參數定義分箱範圍。
  2. 使用cut函數在資料框中建立一個新列。
  3. 使用值計數或groupby來取得每個欄位中值的計數bin.

範例:

考慮以下資料框,其中包含名為「百分比」的數字欄位:

import pandas as pd
import numpy as np

df = pd.DataFrame({'percentage': [46.5, 44.2, 100.0, 42.12]})

要裝箱將「百分比」欄插入以下內容bins:

bins = [0, 1, 5, 10, 25, 50, 100]

您可以如下使用cut 函數:

df['binned'] = pd.cut(df['percentage'], bins=bins)

這將在包含 bin 標籤的資料框中建立一個名為「binned」的新欄位。

要取得每個 bin 內的值計數,您可以使用 value_counts方法:

print(df['binned'].value_counts())

輸出:

(25, 50]     3
(50, 100]    1

或者,您可以使用 groupby並聚合大小:

print(df.groupby(df['binned']).size())

輸出:

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64

這為您提供每個箱內的值的計數。

以上是如何將 Pandas DataFrame 中的數字資料分箱並對每個分箱內的值進行計數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn