基于两列的排名值

Ranking values based on two columns

我正在尝试设计一种方法,根据他们的电话phone持续时间和保证金从最好到最差对帐户进行排名。

数据是这样的;

ID  TIME_ON_PHONE  MARGIN
1   1235           1256
2   12             124 
3   1635           0
4   124            652
5   0              4566

关于如何从最好到最差对它们进行排名有什么建议吗?

ID 5 = 最好,因为我们没有在 phone 上花时间,但他们的利润率最高。

ID 3 = 最差,因为我们在 phone 上花费了很长时间,但没有订单。

我已将其放入 excel 以尝试设计解决方案,但我无法获得正确的排名。

我建议创建一个新指标,例如

新指标 = 保证金/时间 phone

比较每一行。

要使用此指标创建列,只需使用:

dataframe["new_metric"] = dataframe["MARGIN"]/dataframe["TIME_ON_PHONE"]

TIME_ON_PHONE 列中的值为 0 会导致错误,因此我建议将这些值替换为非常小的值,例如 0.001 或其他值。

之后,您可以简单地使用这行代码对行进行排序:

dataframe = dataframe.sort_values("new_metric", ascending = False)

这样你最终会得到第一个 ID 是最好的,第二个 ID 是第二好的......等等

希望对您有所帮助。