[英]Sort in order from greatest to least using pandas group by
尝试从一家公司的销售额的最大到最小排序,这也会根据列表中的销售额索引重新排列公司的名称。
卡住了,我不知道该怎么办。
df=df.groupby(df['Distributor'])['Tickets Sold'].sum()
df1=df[df.div(df.sum()).lt(0.01)] df2=df.drop(df1.index)
yourdf=pd.concat([df2,pd.Series(df1.sum(),index=['Others'])])
print(yourdf)
代替这个。
20th Century Fox 141367982
Focus Features 18799261
Lionsgate 75834308
Paramount Pictures 86302817
STX Entertainment 22606674
Sony Pictures 102746480
Universal 159556790
Walt Disney 315655340
Warner Bros. 216426845
Others 74618013
我需要这个。
Walt Disney 315655340
Warner Bros. 216426845
Universal 159556790
20th Century Fox 141367982
Sony Pictures 102746480
Paramount Pictures 86302817
Lionsgate 75834308
Others 74618013
STX Entertainment 22606674
Focus Features 18799261
这样可以解决您的问题!
df=df.groupby(df['Distributor'])['Tickets Sold'].sum()
df1=df[df.div(df.sum()).lt(0.01)]
df2=df.drop(df1.index)
yourdf=pd.concat([df2,pd.Series(df1.sum(),index=['Others'])])
yourdf = yourdf.sort_values(ascending=False)
print(yourdf)
您可以使用sort_values()方法
df.sort_values(by=['ColName'], ascending=False)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.