Pandas 中Groupby 佔總和的百分比
本文重點介紹資料分析中的一個常見任務:計算每個值佔總和的百分比DataFrame 中的群組。這是使用 Pandas 的問題和解決方案。
問題:
我有一個 CSV 文件,其中包含「州」、「Office ID」和「銷售」欄位。我想計算給定州每個辦事處的銷售額百分比,其中每個州所有百分比的總和為 100%。
解決方案:
實作為此,我們需要建立第二個 groupby 層級。
首先,我們可以根據「狀態」建立一個groupby 對象,並且'office_id' 列:
import pandas as pd state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
然後,我們將每個銷售值除以其對應的州總和來建立一個新的DataFrame:
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
此方法追蹤每個州的銷售額,同時確保州內每個群體的百分比加起來為100%。
以上是如何使用 Pandas 計算每個州每個辦公室的銷售額百分比?的詳細內容。更多資訊請關注PHP中文網其他相關文章!