[英]How to calculate the percentage for a dataset by using groupby function
我是使用Python的新手,我有一些關於如何使用python通過使用groupby函數來計算某些列的百分比的問題。 如果你能幫助我解決這個問題,我將不勝感激。 非常感謝!!!
我已經嘗試過這樣的代碼:
import pandas as pd
import numpy as np
from itertools import groupby
#dataset = pd.read_excel('ABC.xlsx')
casual = dataset[['Location', 'Fruit_Types']].dropna()
casual_group = casual.groupby(['Location', 'Fruit_Types'], sort = False).count().reset_index()
casual_matrix = casual_group.pivot(index = 'Location', columns = 'Fruit_Types').fillna(0)
我有一個excel數據文件,如下所示:
我的預期輸出如下:
這應該這樣做:
map_key = dataset.groupby(['Fruit_Types']).size().to_dict()
df = dataset.dropna().groupby(['Fruit_Types', 'Location']).size()
df = df.reset_index().rename(columns={0:'Count'})
df['Total'] = df['Fruit_Types'].map(map_key)
df['Percentage'] = df.Count / df.Total
df = df.set_index(['Fruit_Types', 'Location'])
print(df)
Count Total Percentage
Fruit_Types Location
Apple Japan 1 4 0.250000
USA 3 4 0.750000
Bannana Costa Rica 1 3 0.333333
Philippines 1 3 0.333333
USA 1 3 0.333333
Mango Ecuador 2 3 0.666667
Philippines 1 3 0.333333
Strawberry Japan 2 5 0.400000
Korea 3 5 0.600000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.