【发布时间】:2020-12-02 05:52:01
【问题描述】:
我是熊猫新手。我正在尝试了解如何在 Pandas 中做一些事情,就像我在 SQL 中所做的那样 -
我有一张像 -
的桌子Account Company Blotter
112233 10 62
233445 12 62
233445 10 66
343454 21 66
343454 21 64
768876 25 54
在 SQL 中,如果给定帐户出现在多行中,我会使用 rank(),如果我想优先考虑某家公司,我会写一个 case 语句来强制优先考虑该公司。我还可以使用 Blotter 列作为附加的排名参数。 例如
rank() over(
partition by ACCOUNT
order by case
when COMPANY='12' then 0
when COMPANY='21' then 1
else COMPANY
end,
case
when BLOTTER ='66' then 0
else BLOTTER
end
)
预期输出:
Account Company Blotter rank
0 112233 10 62 1
1 233445 12 62 1
2 233445 10 66 2
3 343454 21 66 1
4 343454 21 64 2
5 768876 25 54 1
【问题讨论】:
-
请发布您的预期输出
-
请发布您的预期输出。