Я пишу скрипт, который будет искать альтернативные товары в моем интернет-магазине, если мой поставщик не сможет доставить выбранный товар. Идея состоит в том, чтобы сравнить каждый аспект альтернативного элемента и рассчитать оценку сходства, используя которую, я мог бы решить, какие элементы предложить вместо этого.
Все мои данные хранятся в трех фреймах:
Первый содержит все данные первого элемента (название бренда, тип, модель, размер, вес, размер экрана, все, что вы можете придумать)
Второй имеет те же данные для всех других предметов в моем магазине
Третий имеет весовые коэффициенты для всех полей, которые описывают элемент. Таким образом, все различные свойства добавляют различное количество к итоговой оценке сходства.
Поэтому мне нужно пройтись по всем вторым фреймам данных и сравнить каждое поле свойств каждого элемента с полем соответствия первого элемента и рассчитать частичный балл для этого поля в зависимости от веса поля из третьего фрейма данных.
Что будет быстрее:
написание функции для сравнения одного поля и построчно, используя это:
df['score'] = df.apply(compare_function, axis=1)
или получение списка продуктов во втором кадре данных с последующим использованием for loops
для итерации по этим кадрам данных, сравнивая соответствующие поля ..?