2016-05-18 3 views
0
 Task1   SubTask SubTask_ID Pre_Task TaskType Pre_Task_ID 
0 Get home work done SubTask1 SUB_1  SubTask3 ABC  NaN 
1 Get home work done SubTask2 SUB_2  SubTask7 CC  NaN 
2 Get home work done SubTask3 SUB_3  SubTask5 CC  NaN 
3 Get home work done SubTask4 SUB_4  NaN  CC  NaN 
4 Get home work done SubTask5 SUB_5  NaN  AB  NaN 
5 Get home work done SubTask6 SUB_6  NaN  BCC  NaN 
6 Get home work done SubTask7 SUB_7  SubTask3 NaN  NaN 

В верхней части Dataframe я хочу найти значения Pre_Task в SubTask, а затем, если найдено совпадение, необходимо, чтобы соответствующий SubTask_ID записывался в Pre_Task_ID.Как решить эту функцию RDBMS Kind Join в Pandas Dataframe?

Любая помощь ?? Спасибо

ответ

1

Это тип join Вы бы искали?

df['Pre_Task_ID'] = df[['Pre_Task']].merge(df[['SubTask', 'SubTask_ID']], 
              right_on='SubTask', left_on='Pre_Task', how='left')['SubTask_ID'].values 

       Task1 SubTask SubTask_ID Pre_Task TaskType Pre_Task_ID 
0 Get home work done SubTask1  SUB_1 SubTask3  ABC  SUB_3 
1 Get home work done SubTask2  SUB_2 SubTask7  CC  SUB_7 
2 Get home work done SubTask3  SUB_3 SubTask5  CC  SUB_5 
3 Get home work done SubTask4  SUB_4  NaN  CC   NaN 
4 Get home work done SubTask5  SUB_5  NaN  AB   NaN 
5 Get home work done SubTask6  SUB_6  NaN  BCC   NaN 
6 Get home work done SubTask7  SUB_7 SubTask3  NaN  SUB_3 
+0

Спасибо, сэр .. !! –

Смежные вопросы