I want to loop through a data frame and then fill a column of the frame with interest rates from a complex calculation. Apparently, the best way to loop through a frame is to use iterrows
- But when I use iterrows
, I get integer values only:
import pandas
df = pandas.DataFrame({"A": [1,2,3,4,5]})
df['B']=0
for index, row in df.iterrows():
row['B']=row['A']*10.05
df
returns
A B
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Which is incorrect, given that all values in A were multiplied by 10.05.
The example below, gives the correct results:
df['B']=df['A']*10.05
A B
0 1 10.05
1 2 20.10
2 3 30.15
3 4 40.20
4 5 50.25
As said, it is not easy to use this method, because the calculations are complex.
Can I use iterrows
to produce the correct result?