繁体   English   中英

使用大熊猫,按从大到小的顺序排序

[英]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.

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