避免循环/遍历两个表

时间:2020-10-24 12:17:08

标签: python pandas

我有两个大熊猫数据框,当前正在使用嵌套的for循环执行下面列出的计算。这是非常低效的,需要永远运行。我想知道是否有人除了iterables / for循环以外的方法来执行以下计算:

  1. 我有两个数据框:

来源

enter image description here

目的地

enter image description here

我想从源和目标加入数据以获取以下输出

enter image description here

我适用的规则:

  1. 源表中的amt(38)总数在输出表中保持不变
  2. 目标中可能不存在源中(例如业务)的多个列。
  3. 逻辑从源表的开头开始,一直到结尾。
  4. 绿色单元格在源表和目标表之间具有完美的匹配(即,仪器和实体)。 Depot列是输出中的新列 5.黄色单元格的源Amt较低,源Amt保持在输出中
  5. 橙色的单元格在目的地中不匹配,因此显示的Amt没有仓库
  6. 蓝色单元格中的目标位置匹配项较低,因此被拆分

我能够使用嵌套的for循环实现上述逻辑。但是,这种方法效率不高,并且想知道是否有Python的方法可以更有效地实现这一目标。

1 个答案:

答案 0 :(得分:1)

将熊猫作为pd导入

destination.drop(['Instrument','Amt'],axis = 1,inplace = True)
source = pd.merge(源,目标,位于=“实体”,how =“左”)