我有两个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循环遍历每个元素的情况下完成这项工作?
答案 0 :(得分:1)
答案 1 :(得分:1)
将div
与axis=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'])