我有一個數據幀的樣子 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