#python #pandas
#python #pandas
Вопрос:
Я хочу взять хэш из одного df и найти этот хэш в другом столбце df.hash и распечатать полную строку совпадений.
df1:
df2:
hash
11dd7da7faa0130dac2560930e90c8b1
11dd7da7faa0130dac2560930e90c8b2
11dd7da7faa0130dac2560930e90c8b3
11dd7da7faa0130dac2560930e90c8b4
filepath hash
C:windows 11dd7da7faa0130dac2560930e90c8b5
C:Temp 11dd7da7faa0130dac2560930e90c8b6
C:foundya 11dd7da7faa0130dac2560930e90c8b1
C:Windowstemp 11dd7da7faa0130dac2560930e90c8b2
Ожидаемый результат:
неудачные попытки:
filepath hash
C:foundya 11dd7da7faa0130dac2560930e90c8b1
C:Windowstemp 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')
Комментарии:
1. Если бы это было усилено, скажем, 44 миллионами строк, было бы это эффективно? Это отлично работает, я просто подумал, что слияние потребует немного больше ресурсов. Большое спасибо.
2.
merge
очень эффективно, не волнуйтесь.