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

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

Barbara Streisand
發布: 2024-12-15 20:55:09
原創
739 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板