我有一个数据帧的样子 DF1上的数据帧附加一个新列基于其他数据帧与匹配的行,并从现有柱
UserID group day sp PU
213 test 12/11/14 3 311
314 control 13/11/14 4 345
354 test 13/08/14 5 376
和第二数据帧填补值不匹配的那些DF2,它拥有大约在DF1列用户ID值的信息,在DF2匹配的行和DF1是测试红等人应该是自己。 DF2
UserID
213
什么我的目标是要追加一个新列group2
到df1
使用来自df2
以及如下值已经存在于df1
匹配值在DF1组列衍生,.比如这里的userid 213在DF1和DF2和匹配,所以应该在新追加的列“组2”的测试,红色被添加,否则它应该,因为它是从group
列。 DF1
UserID group day sp PU group2
213 test 12/11/14 3 311 test-Red
314 control 13/11/14 4 345 control
354 test 13/08/14 5 376 test-NonRed
这是我试过,
def converters(df2,df1):
if df1['UserId']==df2['UserId']:
val="test-Red"
elif df1['group']== "test":
val="test-NonRed"
else:
val="control"
return val
但它抛出错误。如下图所示
ValueError: Series lengths must match to compare
其中所述'group2'来自? – Wen
您肯定没有提供足够的信息 – piRSquared
group2是我需要添加到df1的新列,这是我的瞄准结果 – user1017373