Skip to content
Advertisement

How to compare each value of column B with the value of column A?

Compare each value in B column with the first value in A column until it is greater than it, then set the expected column to true.

Then compare the value of A column with the expected column that is true until B column value is greater than it,then set the expected column to true.

Input:

import pandas as pd
A=[20,13,15,25,24,13,14,19,13,11]
B=[12,15,31,13,16,19,15,16,25,21]
df=pd.DataFrame({'A':A,'B':B})

Expected Output

    A   B   expected
0   20  12  
1   13  15  
2   15  31  TRUE
3   25  13  
4   24  16  TRUE
5   13  19  
6   14  15  
7   19  16  
8   13  25  TRUE
9   11  21  TRUE

Advertisement

Answer

You must use a custom function with a loop:

def compare(A, B):
    x = A[0]
    out = []
    for a,b in zip(A,B):
        if b>x:
            out.append(True)
            x = a
        else:
            out.append(False)
    return out

df['compare'] = compare(df['A'], df['B'])

output:

    A   B  compare
0  20  12    False
1  13  15    False
2  15  31     True
3  25  13    False
4  24  16     True
5  13  19    False
6  14  15    False
7  19  16    False
8  13  25     True
9  11  21     True
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement