【发布时间】:2016-03-20 15:53:56
【问题描述】:
你能用两个不同列中的值作为参数创建一个 python pandas 函数吗?
如果两列的值在同一范围内,我有一个返回 1 的函数。否则返回 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
我希望第一个参数 RealTime 成为我的数据框中的一列,这样函数将获取该列中每一行的值。例如RealTime 是 df['TimeCol'],第二个参数是 df['ResponseCol']`。我希望结果是数据框中的一个新列。我遇到了severalthreads,他们回答了类似的问题,但看起来这些参数是变量,而不是数据框行中的值。
我尝试了以下方法,但没有成功:
df['NewCol'] = df.apply(segmentMatch, args=(df['TimeCol'], df['ResponseCol']), axis=1)
【问题讨论】:
标签: python function pandas dataframe