Pandas Groupby 佔總數的百分比
可以使用 Pandas 的 groupby 計算給定州每個辦公室的銷售額百分比。但是,它需要額外的步驟才能達到所需的結果。
假設我們有一個 CSV 文件,其中包含代表州、辦公室 ID 和銷售額的欄位。我們可以導入 Pandas 並創建一個DataFrame:
import pandas as pd df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3, 'office_id': list(range(1, 7)) * 2, 'sales': [np.random.randint(100000, 999999) for _ in range(12)]})
要計算每個辦事處和州的總銷售額,我們可以按這些列進行分組:
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
要計算百分比給定州每個辦事處的銷售額,我們可以按州分組並應用一個函數,將每個辦公室的銷售額除以總州sales:
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
這會產生一個包含每個辦公室銷售百分比的DataFrame:
print(state_pcts) sales state office_id AZ 2 16.981365 4 19.250033 6 63.768601 CA 1 19.331879 3 33.858747 5 46.809373 CO 1 36.851857 3 19.874290 5 43.273852 WA 2 34.707233 4 35.511259 6 29.781508
此方法透過「有效計算給定州每個辦事處的銷售百分比」達到」到分組的州級別,以合計整個州的銷售額。
以上是如何使用 Pandas Groupby 計算每個州內每個辦公室的銷售額百分比?的詳細內容。更多資訊請關注PHP中文網其他相關文章!