新列的值依赖于其他列的值

  • 本文关键字:其他 依赖于 新列 pandas
  • 更新时间 :
  • 英文 :


我有4列(stimA_pos, stimB_pos, stimC_pos, stimD_pos)的字符串定义图像的位置(左,右,上,下)。另一列显示所选图像的字符串(decision_resp)。我想创建一个显示所选图像的新列,而不是"左","右"等。这应该是结果(decision_resp_img):

decision_resp_imgstimBstimAstimCstimD
df1.join(df1.reset_index().
melt(['index' ,'decision_resp'], var_name = 'decision_resp_img').
query('decision_resp == value').set_index('index')['decision_resp_img'].
str.replace('_pos', ''))
stimA_pos stimB_pos stimC_pos stimD_pos decision_resp decision_resp_img
0        up      left      down     right          left             stimB
1      down        up     right      left          down             stimA
2      left      down     right        up         right             stimC
3     right      left        up      down          down             stimD
df["decision_resp_img"] = df.apply(lambda x: dict(zip((a:=dict(x[["stimA_pos","stimB_pos","stimC_pos","stimD_pos"]])).values(), a.keys()))[x["decision_resp"]].replace("_pos","") , axis=1)
df

输出:

stimA_pos   stimB_pos   stimC_pos   stimD_pos   decision_resp   decision_resp_img
0   up  left    down    right   left    stimB
1   down    up  right   left    down    stimA
2   left    down    right   up  right   stimC
3   right   left    up  down    down    stimD

最新更新