首页 > 解决方案 > 熊猫排名负整数和正整数,多列

问题描述

我不是数学家,我是财务人员,并且面临一个最好描述如下的问题:我正在寻找有关如何对两个整数系列进行排名的建议,其中一个具有正数和正数的域负值,另一个只有一个正域。

X 的高正值是期望的,高负值是不期望的。

Y 被限制为正数,不需要高值,需要低值。

到目前为止,我最好的猜测是:

在正域中,这个比率是有意义的:X/Y

在负域 (1/X*Y) 中往往是有意义的,但我怀疑它会施加不对称性。

假设这是 X 和 Y 的理想排序序列

X, Y, rank
10,100, 6
10,1000, 5.5
1,100, 5.5
1,1000, 4
-1,100, 3
-1,1000, 2.5
-10,100, 2.5
-10,1000, 1

5.5 和 2.5 在数字和概念上相似(无差异)。

有没有你能想到的用来排名和捕捉这个逻辑的函数?

一个硬性限制是正 X 总是比负 X 好,因此 X 的负值永远不应高于 X 的正值。

标签: pythonpandasmath

解决方案


如果您知道 X 系列的最小值,那么最好的方法可能是使用以下分数:

(X + Xmin)/Y # Adding the minimal value as an offset is a standard procedure to obtain only positive values. 

如果您想走得更远,您甚至可以通过执行以下操作对 X 和 Y 进行归一化:

X = (X + Xmin) / Xmax
Y = (Y + Ymin) / Ymax

然后执行 score = X/Y


推荐阅读