python - 熊猫排名负整数和正整数,多列
问题描述
我不是数学家,我是财务人员,并且面临一个最好描述如下的问题:我正在寻找有关如何对两个整数系列进行排名的建议,其中一个具有正数和正数的域负值,另一个只有一个正域。
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 的正值。
解决方案
如果您知道 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
推荐阅读
- python - 带通配符的 PyODBC 查询
- javascript - 在 jquery 或 javascript 中排序项目
- php - 如何仅显示图像(.jpg)?
- angular - 您将如何在 Angular 中使用一次调用来发布和获取数据?
- html - 如何在angularJS中将数据放入数组?
- sql - 用于检查 SQL Server 中成对变量(前和后)值的单个查询
- java - 使用循环删除某些布局视图
- javascript - 在指令中使用链接和模板属性
- amp-html - AMP 项目在此处指示问题,因此我无法理解错误指示我做什么
- sql - 使用 SQL 将字符串列转换为 mongodb 中的日期时间