基于两列对值进行排序

2024-05-12 10:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图设计一种方法,根据客户的通话时间和利润率,将客户从最佳到最差进行排名

数据如下所示

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

关于如何从最好的到最差的排列有什么建议吗

ID 5=最好,因为我们没有花时间打电话,但他们的利润是最大的

ID 3=最糟糕的是我们在电话上花了很长时间,但没有订单

我已经把它放进excel中,试图设计一个解决方案,但我不能得到正确的排名


Tags: 数据方法margin订单id客户timeon
1条回答
网友
1楼 · 发布于 2024-05-12 10:19:47

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

新指标=利润/通话时间

比较每一行

要使用此度量创建列,只需使用:

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

如果TIME\ON\u PHONE列中的值为0,则会导致错误,因此我建议将这些值替换为非常小的值,如0.001或其他值

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

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

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

希望有帮助

相关问题 更多 >