我试着从不同的发行商那里得到每部电影的总数,把这些总数转换成所有发行商合计总数的百分比。然后我需要把每一个低于1%的经销商合并成另一个经销商。
有100多个分销商,计算总销售额,并为每个分销创建百分比,而不是销售数量。
这是下面代码的输出。
print(df.groupby(df['Distributor'])['Tickets Sold'].sum())
Distributor
20th Century Fox 141367982
25th Frame 2989
26 Aries 867
A24 6494901
Abramorama Films 367311
Anchor Bay Entertainment 12710
Archstone Entertainment 1299
Area 23a 4615
ArtAffects 48549
ArtMattan Productions 319
最佳答案
通过将sum
与Series.lt
进行比较来创建布尔掩码,通过<
反向掩码进行筛选,并通过boolean indexing
下筛选行的setting with enlargement和sum
添加新值:
mask = df.div(df.sum()).lt(0.01)
out = df[~mask]
out.loc['others'] = df[mask].sum()
print (out)
20th Century Fox 141367982
A24 6494901
others 438659
dtype: int64
关于python - 计算分销商的总销售额,并得出每个分销商在所有分销商总销售额中所占的百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55931322/