我有一个沿着下面的数据框:
Type Set
1 A Z
2 B Z
3 B X
4 C Y
Run Code Online (Sandbox Code Playgroud)
我想在数据帧中添加另一列(或生成一系列)与数据帧相同的长度(=相等的记录/行数),如果Set ='Z'则设置颜色为绿色,如果Set =否则设置为'red' .
最好的方法是什么?
你能用两个不同的列作为参数创建一个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
Run Code Online (Sandbox Code Playgroud)
我希望第一个参数,RealTime
是我的数据框中的一列,这样该函数将获取该列中每行的值.例如RealTime
是df['TimeCol']
,第二个参数是df ['ResponseCol']`.我希望结果成为数据框中的新列.我遇到了几个 已回答类似问题的线程,但看起来这些参数是变量,而不是数据帧行中的值.
我尝试了以下但它不起作用:
df['NewCol'] = df.apply(segmentMatch, args=(df['TimeCol'], df['ResponseCol']), axis=1)
Run Code Online (Sandbox Code Playgroud)