1
我有两个dataframes DF1和DF2,其中的concat特定行数据帧在两列中使用的数据作为请求数
都有子帧“数据”和“元数据”和DF1具有比DF2
基本上更多的行DF1
DATA METADATA
0 1 2 3 4 5 attr1 attr2 .. attrN
11 1 1 1 1 1 1 000 apple
13 1 1 1 1 1 1 140 orange
19 1 1 1 1 1 1 199 pineapple
25 1 5 1 1 1 2 000 apple
..
DF2
DATA METADATA
x y z k attr1 attr2 .. attrK
000 2 2 2 2 000 bean
001 2 2 2 2 001 bean
002 2 2 2 2 002 bean
003 2 2 2 2 003 bean
..
199 2 2 2 2 199 bean
200 2 2 2 2 000 orange
201 2 2 2 2 001 orange
..
340 1 2 3 4 140 orange
..
500 4 3 2 1 000 apple
..
700 2 2 2 2 350 bread
..
999 5 5 5 5 199 pineapple
我想在DF2中将列中特定的行连接到DF1中的行,基于DF2中的属性。
具体做法是:
对于DF1每一行,我想连接刚刚从该行的数据在DF2使得DF1.METADATA.attr1 & DF2.METADATA.attr1和DF1.METADATA.attr2入口对于每一行,& DF2.METADATA.attr2是相同的。这里的结果将是:
DF3 (desired result)
DATA METADATA
0 1 2 3 4 5 x y z k attr1 attr2 .. attr N
11 1 1 1 1 1 1 4 3 2 1 000 apple
13 1 1 1 1 1 1 1 2 3 4 140 orange
19 1 1 1 1 1 1 5 5 5 5 199 pineapple
25 1 5 1 1 1 2 4 3 2 1 000 apple
我设法通过循环做到这一点,但我得到一个可怕的运行,并具有大量的数据,我需要使其运行速度更快,应该有一个快速和容易这样,通过大熊猫喜欢你想要做的attR1位合并做到这一点(我想!)
我认为这可能会工作;让我测试它。理想情况下,我希望最终数据框中的两个DATA在一个DATA下,但这是我可以自己做的简单修复。 但是,这是否推广到当我有多个属性,我不想基于任何合并?例如,如果在你的例子中,我在df1和df2中都有几个属性,并且所有这些属性都与我想合并的内容完全无关 – Ted