将具有通用ID的数据帧的值插入不同数据帧的列中

时间:2019-06-12 09:02:57

标签: python pandas dataframe

我有两个数据帧(df1,df2)都在其中包含id列。 Id在df1中不重复,但在df2中重复。数据集df1有61列(由零初始化),而df2有3列(Id,Count,Code)。 df2的Code字段有60个不同的值,它们是df1的列。我想通过匹配df1上的ID(名称与df2的代码相同的df1的列)来插入df2的计数。

我尝试使用循环,但是由于数据集非常大,这会花费很多时间。

   df1:
    id  c1  c2  c3
    1   0   0    0
    2   0   0    0

  df2:
   id Code Count
    1 c1    2
    1 c2    4
    1 c1    3

 #my code   
    for row in df1.to_dict("records"):
      for r in df2.to_dict("rec"):
        if row['id']==r['id']:
          co=r['Code']
          row[co]+=r['Count']

output req:
  df1:
   id c1  c2  c3
    1  5   4   0
    2  0   0   0

0 个答案:

没有答案