繁体   English   中英

Pandas Groupby 占总数百分比

[英]Pandas Groupby Percentage of total

    df["% Sales"] = df["Jan"]/df["Q1"]
    q1_sales =  df.groupby(["City"])["Jan","Feb","Mar", "Q1"].sum()
    ql_sales.head()



                   Jan  Feb  Mar   Q1
City            
Los Angeles        44   40   54   138

希望代码获得该季度的销售额百分比。 想让它看起来像下面这样每个月除以该季度的总销售额。

                     Jan    Feb   Mar  
City            
Los Angeles          31.9%  29%  39.1% 

利用:

new_df=q1_sales[q1_sales.columns.difference(['Q1'])]
new_df=(new_df.T/new_df.sum(axis=1)*100).T
print(new_df)

                   Feb        Jan        Mar
Los Angeles  28.985507  31.884058  39.130435

尝试div

q1_sales[['Jan','Feb','Mar']].div(q1_sales['Q1']*0.01, axis='rows')

Output:

                   Jan        Feb        Mar
City                                        
Los Angeles  31.884058  28.985507  39.130435

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM