遍历两个表以查找公用值,如果存在则替换一列中的值

时间:2019-03-18 16:47:57

标签: python for-loop comparison

我有两个表TABLE1和TABLE2。一个仅具有项目ID,另一个仅具有项目ID和任务ID。 我想遍历TABLE1并将其与TABLE2项目ID进行比较。如果有一个公共值,我想将与该特定项目ID对应的任务ID附加到TABLE1项目ID。

我这样做的方式如下。

for index,i in enumerate(TABLE1["ProjectID"]):

  if i in TABLE2["ProjectID"].values:

    TABLE1["TaskId"][index] =TABLE2["TaskId"].loc[TABLE2["TaskId"]==i].values[0]
  else:        
    print("Doesnt exist")

是否有更好的方法?即使花了几行代码,我仍然花了很长时间才能做到这一点! 谢谢!

1 个答案:

答案 0 :(得分:1)

使用merge

new_table = pd.merge(Table1,Table2,how='left',on='ProjectID')

通过docs