I have two dataframes : df1 and df2
df1:
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 40 30 10
2016-05-10 13:40:00 40 10 20
df2:
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 10 20 30
2016-05-10 13:40:00 10 20 20
I would like to divide df1 by df2 : each column of df1 by all column of df2 to get this result df3 :
TIMESTAMP eq1 eq2 eq3
2016-05-10 13:20:00 40/(10+10) 30/(20+20) 10/(30+20)
2016-05-10 13:40:00 40/(10+10) 10/(20+20) 20/(30+20)
Any idea please?
You can use div, but before set_index from both columns TIMESTAMP:
df1.set_index('TIMESTAMP', inplace=True)
df2.set_index('TIMESTAMP', inplace=True)
print (df1.div(df2).reset_index())
TIMESTAMP eq1 eq2 eq3
0 2016-05-10 13:20:00 4.0 1.5 0.333333
1 2016-05-10 13:40:00 4.0 0.5 1.000000
EDIT by comment:
df1.set_index('TIMESTAMP', inplace=True)
df2.set_index('TIMESTAMP', inplace=True)
print (df2.sum())
eq1 20
eq2 40
eq3 50
dtype: int64
print (df1.div(df2.sum()).reset_index())
TIMESTAMP eq1 eq2 eq3
0 2016-05-10 13:20:00 2.0 0.75 0.2
1 2016-05-10 13:40:00 2.0 0.25 0.4
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With