Home > Enterprise >  Subtracting the 2nd column of the 1st Dataframe to the 2nd column of the 2nd Dataframe based on cond
Subtracting the 2nd column of the 1st Dataframe to the 2nd column of the 2nd Dataframe based on cond

Time:01-27

I have 2 dataframes with 2 columns each and with different number of index. I want to subtract the 2nd column of my 2nd dataframe to the 2nd column of my 1st dataframe, And storing the answers to another dataframe.. NOTE: Subtract only the values with the same values in column 1. e.g.

df:
           col1      col2
29752   35023.0   40934.0    

subtract it to

df2:
           c1         c2
962   35023.0   40935.13  

Here is my first Dataframe:

           col1      col2
0      193431.0  40955.41
1      193432.0  40955.63
2      193433.0  40955.89
3      193434.0  40956.31
4      193435.0  40956.43
...       ...
29752   35023.0  40934.89
29753   35024.0  40935.00
29754   35025.0  40935.13
29755   35026.0  40934.85
29756   35027.0  40935.18

Here is my 2nd dataframe;

          c1        c2
0     194549.0  41561.89
1     194550.0  41563.96
2     194551.0  41563.93
3     194552.0  41562.75
4     194553.0  41561.22
..       ...       ...
962  35027.0  41563.80
963  35026.0  41563.18
964  35025.0  41563.87
965  35024.0  41563.97
966  35023.0  41564.02

CodePudding user response:

You can iterate for each row of the first dataframe, if the col1 of the row is equal to col1 of df2[i], then subtract the value of each column

for i, row in df1.iterrows():
if(row["col1"]  == df2["col1"][i]):
    diff = row["col2"] - df2["col2"][i]
    print(i, diff)
  • Related