Python 如何使用2个数据帧的交集作为索引,然后将其除以另一个

Python 如何使用2个数据帧的交集作为索引,然后将其除以另一个,python,pandas,dataframe,Python,Pandas,Dataframe,这里我有两个数据帧。我试图计算这两个数据帧的相交行的划分。即首先查找属于两个数据帧的所有代码,然后将df1中的每个元素除以df2中相应的元素。请注意,df1和df2的代码不一定具有相同的长度或顺序。(代码是索引,但不是数据帧中的一列) df1: df2: 我试图先合并这两个数据帧,但不知道下一步该怎么做。或者有没有更有效的方法?我的理想结果是: code 20180101 20180102 ... 20181231 001 0.5 0.5

这里我有两个数据帧。我试图计算这两个数据帧的相交行的划分。即首先查找属于两个数据帧的所有代码,然后将df1中的每个元素除以df2中相应的元素。请注意,df1和df2的代码不一定具有相同的长度或顺序。(代码是索引,但不是数据帧中的一列)

df1:

df2:

我试图先合并这两个数据帧,但不知道下一步该怎么做。或者有没有更有效的方法?我的理想结果是:

code     20180101    20180102   ...   20181231
001         0.5         0.5     ...      0.5     
002         0.5         0.3333  ...       5
...
1230        0.25        0.6667  ...       2
1231        1           1       ...       1

对于df1,df2具有相同的索引
code
,但不一定具有相同的长度或顺序,请尝试:

df3 = (df1 / df2).dropna()
试运行:
很抱歉,我不能假设df1和df2具有相同的长度和顺序。很抱歉,我没有在报告中明确说明我的意思beginning@ZiyiGao根据澄清修改
code     20180101    20180102   ...   20181231
001         0.5         0.5     ...      0.5     
002         0.5         0.3333  ...       5
...
1230        0.25        0.6667  ...       2
1231        1           1       ...       1
df3 = (df1 / df2).dropna()
print(df1)
Output:
    
      20180101  20180102  20181231
code                              
1            3         5         5
2            2         1        10
3            1         1         5
4           10        20        30
    
print(df2)
Output:
    
      20180101  20180102  20181231
code                              
1            6        10        10
2            4         3         2
3            1         1         5
5           20        30        40
    
df3 = (df1 / df2).dropna()
    
print(df3)
Output:
    
      20180101  20180102  20181231
code                              
1          0.5  0.500000       0.5
2          0.5  0.333333       5.0
3          1.0  1.000000       1.0