我有三列,我想根据一定的权重进行排名。下面是我正在使用的数据帧的一个示例:
Sales Revenue Product Count Average Sales/Product
1005650 30 33521.67
100223 5 20044.60
72233 2 36116.50
1005657 13 77358.23
1002233 25 40089.32
我想创建一个排名,例如,平均销售额/产品的权重为45%,销售收入的权重为35%,产品数量的权重为20%。我知道,在熊猫中,这可以做到:
col1 = sales["Sales Revenue"].astype(str)
col2 = sales["Average Sales/Product"].astype(str)
col3 = sales["Product Count"].astype(str)
sales['Rank'] = (col2+col1+col3).astype('int64').rank(method='dense', ascending=False).astype(int64)
sales = sales.sort_values('Rank')
但我不明白这个方法是如何工作的,因为它确实有排名,但它背后的逻辑我似乎无法理解。是否有一种方法可以创建一个基于百分比权重的排名系统,该系统能够创建一个更加强调平均销售额/产品、然后是销售收入、然后是产品数量的排名
您可以简单地计算加权平均值并对其进行排序:
相关问题 更多 >
编程相关推荐