首頁 >後端開發 >Python教學 >如何使用 Pandas.cut 和 NumPy.searchsorted 有效地對 Pandas 列進行分類?

如何使用 Pandas.cut 和 NumPy.searchsorted 有效地對 Pandas 列進行分類?

Barbara Streisand
Barbara Streisand原創
2024-12-09 11:17:041057瀏覽

How Can I Effectively Bin a Pandas Column Using Pandas.cut and NumPy.searchsorted?

對 Pandas 欄位進行分箱

分箱涉及將連續資料列分割為離散間隔以分析資料分佈。要使用 Pandas 對數值列進行分箱,我們可以探索各種方法。

Pandas.cut 方法

Pandas 提供了 cut 函數來執行分箱。它將要分箱的系列和分箱邊緣列表作為參數。預設情況下,它會傳回帶有 bin 標籤的分類列。例如:

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

NumPy.searchsorted 方法

NumPy 的 searchsorted 函數也可以用於分箱。它會傳回系列中每個值所屬的 bin 的索引。然後,結果值可用於建立分箱類別:

df['binned'] = np.searchsorted(bins, df['percentage'].values)

計算值計數

建立分箱列後,我們可以計算值計數以確定觀測值的數量每個垃圾箱。這可以使用 value_counts 或 groupby 以及聚合大小來實現:

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

透過使用這些技術,我們可以有效地對 Pandas 中的數位資料列進行分類,以深入了解它們的分佈。

以上是如何使用 Pandas.cut 和 NumPy.searchsorted 有效地對 Pandas 列進行分類?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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