I am facing a problem when comparing two pandas Serieses. I am passing some series to a function that is supposed to calculate stuff based on a condition, as follows:
di = {'A': [1, 2, 7, 2], 'B': [3, 5, 6, 4], 'C': [9, 8, 7, 4]}
df = pd.DataFrame(di)
def function(s1, s2, s3):
if s1 > s2:
s4 = s2 + s3
else:
s4 = s1 + s3
return s4
df['D'] = function(df['A'], df['B'], df['C'])
but I am getting a ValueError: The truth value of a Series is ambiguous
. I guess this is because I should be comparing the Series' elements row wise, two by two, and the operator > doesn't work this way.
How could I get the function to work without resorting to for-looping on the Serieses' elements?