如何划分两个DataFrame

时间:2019-10-21 15:19:30

标签: python pandas dataframe

我有两个DataFrame:

     info_1  info_2
key                
A         1       6
B         2       7
C         3       8
D         4       9
E         5       0

和:

     info_3
key        
A         1
B         7
C         3
D         9
E         5

我想通过以下方式将第一个DataFrame除以第二个:

     info_1  info_2
key                
A     1       6
B     0.286   1
C     1       2.667
D     0.444   1
E     1       0

即:

     info_1  info_2
key                
A       1/1     6/1
B       2/7     7/7
C       3/3     8/3
D       4/9     9/9
E       5/5     0/5

如何在不使用for循环遍历每个元素的情况下完成这项工作?

4 个答案:

答案 0 :(得分:1)

使用 div 方法

df1.div(df2['info_3'], axis=0)

您可以查看this作为示例教程

答案 1 :(得分:1)

divaxis=0一起使用

df1.div(df2['info_3'], axis=0)

       info_1    info_2
key                    
A    1.000000  6.000000
B    0.285714  1.000000
C    1.000000  2.666667
D    0.444444  1.000000
E    1.000000  0.000000

答案 2 :(得分:1)

实际上,对我来说(熊猫0.25),axis=0需要div

df1.div(df2.info_3, axis=0)

输出:

       info_1    info_2
key                    
A    1.000000  6.000000
B    0.285714  1.000000
C    1.000000  2.666667
D    0.444444  1.000000
E    1.000000  0.000000

答案 3 :(得分:0)

Pandas带有div函数See documentation

根据您的情况,您可以将其用作:df1.div(df2['info_3'])