gpt4 book ai didi

python - Pandas 对负整数和正整数、多列进行排名

转载 作者:行者123 更新时间:2023-12-01 01:15:44 24 4
gpt4 key购买 nike

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

希望 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 正值。

最佳答案

我使用了 series.rank()如下:

df['new_rank']=df.X.rank(method='dense',ascending=True)+df.Y.rank(method='dense',ascending=False)-1
print(df)

X Y rank new_rank
0 10 100 6.0 5.0
1 10 1000 5.5 4.0
2 1 100 5.5 4.0
3 1 1000 4.0 3.0
4 -1 100 3.0 3.0
5 -1 1000 2.5 2.0
6 -10 100 2.5 2.0
7 -10 1000 1.0 1.0

所提供链接中的文档说明。

关于python - Pandas 对负整数和正整数、多列进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54366051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com