2016-10-04 130 views
0

我期待从一个df中获取哈希值,并在另一个df.hash列中找到该哈希值并打印完整的匹配行。熊猫比较两列匹配文本和打印全匹配的匹配

DF1: hash 11dd7da7faa0130dac2560930e90c8b1 11dd7da7faa0130dac2560930e90c8b2 11dd7da7faa0130dac2560930e90c8b3 11dd7da7faa0130dac2560930e90c8b4 DF2: filepath hash C:\windows 11dd7da7faa0130dac2560930e90c8b5 C:\Temp 11dd7da7faa0130dac2560930e90c8b6 C:\foundya 11dd7da7faa0130dac2560930e90c8b1 C:\Windows\temp 11dd7da7faa0130dac2560930e90c8b2

预期输出: filepath hash C:\foundya 11dd7da7faa0130dac2560930e90c8b1 C:\Windows\temp 11dd7da7faa0130dac2560930e90c8b2 失败尝试: print(df2[['hash','filepath']][~df2['hash'].isin(df1)]) print(df2[['hash','filepath']][~df1.isin(df2['hash'])])

回答

1

怎么样在这里简单的合并?

df1.merge(df2, on ='hash', how ='inner') 
+0

如果这被放大了4400万行,这会有效吗?这确实很好,我只是认为合并会花费更多的资源。非常感谢。 – johnnyb

+0

'合并'效率很高,不用担心。 –

+0

非常感谢! – johnnyb