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