Can you make a python pandas function with values in two different columns as arguments?
I have a function that returns a 1 if two columns have values in the same range. otherwise it returns 0:
def segmentMatch(RealTime, ResponseTime):
if RealTime <= 566 and ResponseTime <= 566:
matchVar = 1
elif 566 < RealTime <= 1132 and 566 < ResponseTime <= 1132:
matchVar = 1
elif 1132 < RealTime <= 1698 and 1132 < ResponseTime <= 1698:
matchVar = 1
else:
matchVar = 0
return matchVar
I want the first argument, RealTime
, to be a column in my data frame, such that the function will take the value of each row in that column. e.g. RealTime
is df['TimeCol']
and the second argument is df['ResponseCol']`. And I'd like the result to be a new column in the dataframe. I came across several threads that have answered a similar question, but it looks like those arguments were variables, not values in rows of the dataframe.
I tried the following but it didn't work:
df['NewCol'] = df.apply(segmentMatch, args=(df['TimeCol'], df['ResponseCol']), axis=1)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…