Python 如何计算列和值的百分比?
我有一个熊猫数据框,看起来像这样:Python 如何计算列和值的百分比?,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个熊猫数据框,看起来像这样: Country Sold Japan 3432 Japan 4364 Korea 2231 India 1130 India 2342 USA 4333 USA 2356 USA 3423 我使用了下面的代码,得到了“已售出”列的总和 我想问一下如何计算“售出”列总和的百分比 我们可以将原始的sell列除以一个新的列,该列由分组的和组成,但保持与原始数据帧相同的长度,方法是使用 简单解决方案 你就
Country Sold
Japan 3432
Japan 4364
Korea 2231
India 1130
India 2342
USA 4333
USA 2356
USA 3423
我使用了下面的代码,得到了“已售出”列的总和
我想问一下如何计算“售出”列总和的百分比 我们可以将原始的
sell
列除以一个新的列,该列由分组的和组成,但保持与原始数据帧相同的长度,方法是使用
简单解决方案 你就快到了
您是在寻找聚合后还是聚合前的百分比
import pandas as pd
countries = [['Japan',3432],['Japan',4364],['Korea',2231],['India',1130], ['India',2342],['USA',4333],['USA',2356],['USA',3423]]
df = pd.DataFrame(countries,columns=['Country','Sold'])
df1 = df.groupby(df['Country'])
df2 = df1.sum()
df2['percentage'] = (df2['Sold']/df2['Sold'].sum()) * 100
df2
您可以通过添加此代码来获得百分比
df2["percentage"] = df2['Sold']*100 / df2['Sold'].sum()
在输出数据框中,添加了一列,列中列出了每个国家的百分比。请编辑您的答案,包括您所做的事情和原因的解释。
# reset_index() is only there because the groupby makes the grouped column the index
df_grouped_countries = df.groupby(df.Country).sum().reset_index()
df_grouped_countries['pct_sold'] = df_grouped_countries.Sold / df.Sold.sum()
import pandas as pd
countries = [['Japan',3432],['Japan',4364],['Korea',2231],['India',1130], ['India',2342],['USA',4333],['USA',2356],['USA',3423]]
df = pd.DataFrame(countries,columns=['Country','Sold'])
df1 = df.groupby(df['Country'])
df2 = df1.sum()
df2['percentage'] = (df2['Sold']/df2['Sold'].sum()) * 100
df2
df2["percentage"] = df2['Sold']*100 / df2['Sold'].sum()