Python 首先对较高层的数据帧进行排名,然后对较低层的数据帧进行排名
我有两个数据帧:Python 首先对较高层的数据帧进行排名,然后对较低层的数据帧进行排名,python,pandas,dataframe,python-3.6,Python,Pandas,Dataframe,Python 3.6,我有两个数据帧: x y df1<- 1.0 5.31 0.9 4.22 0.1 4.57 x y df2<- 1.3 4.71 0.3 4.54 输出: x
x y
df1<- 1.0 5.31
0.9 4.22
0.1 4.57
x y
df2<- 1.3 4.71
0.3 4.54
输出:
x y rank
df1<- 1.0 5.31 1
0.9 4.22 2
0.1 4.57 3
xy秩
df1我认为最简单的方法是在df1
中添加rank
的最大值:
df2['rank'] = df2['x'].rank(ascending=False) + df1['rank'].max()
print (df2)
x y rank
0 1.3 4.71 4.0
1 0.3 4.54 5.0
x y rank
df2<- 1.3 4.71 4
0.3 4.54 5
df2['rank'] = df2['x'].rank(ascending=False) + df1['rank'].max()
print (df2)
x y rank
0 1.3 4.71 4.0
1 0.3 4.54 5.0