Python 获取与SQL秩不同的数据帧秩回答
我在学习SQL中的排名函数,发现它使用的排名方式与pandas方法不同。如何得到相同的答案 问题链接: SQL代码 选择rank over order by weight desc作为排名、权重、名称,从CAT中选择order by ranking、name 我的熊猫密码 df['weight','name'].assignranking=df['weight'].rankmethod='densite',升序=False.sort_值'weight',升序=False 我得到的答案与SQL不同 如何得到相同的答案? 数据 df=pd.数据帧{'name':['Molly','ash','Felix','Smudge','Tigger','Alfie','Oscar','Millie','Misty','Puss','Smokey','Charlie'], ‘品种’:[‘波斯’、‘波斯’、‘英国短毛’、‘英国短毛’、‘暹罗’、‘暹罗’、‘缅因浣熊’、‘缅因浣熊’、‘缅因浣熊’、‘缅因浣熊’、‘英国短毛’], “重量”:[4.2,4.5,5.0,4.9,3.8,5.5,6.1,5.4,5.7,5.1,6.1,4.8], “颜色”:[“黑色”、“黑色”、“龟甲”、“黑色”、“龟甲”、“棕色”、“黑色”、“龟甲”、“棕色”、“棕色”、“龟甲”、“棕色”、“黑色”], ‘年龄’:[1,5,2,4,2,5,1,5,2,2,4]} 我的输出Python 获取与SQL秩不同的数据帧秩回答,python,sql,pandas,Python,Sql,Pandas,我在学习SQL中的排名函数,发现它使用的排名方式与pandas方法不同。如何得到相同的答案 问题链接: SQL代码 选择rank over order by weight desc作为排名、权重、名称,从CAT中选择order by ranking、name 我的熊猫密码 df['weight','name'].assignranking=df['weight'].rankmethod='densite',升序=False.sort_值'weight',升序=False 我得到的答案与SQL不同
正如评论中所建议的,我们可以使用此方法在SQL和pandas中得到相同的答案: df['weight','name'].assignranking=df['weight'].rankmethod='min',升序=False.sort_值'weight',升序=False
您正在Python端进行密集排序。
weight name ranking
6 6.1 Oscar 1.0
10 6.1 Smokey 1.0
8 5.7 Misty 2.0 # this should be 3 and so on
5 5.5 Alfie 3.0
7 5.4 Millie 4.0
9 5.1 Puss 5.0
2 5.0 Felix 6.0
3 4.9 Smudge 7.0
11 4.8 Charlie 8.0
1 4.5 Ashes 9.0
0 4.2 Molly 10.0
4 3.8 Tigger 11.0