我正在编写一个脚本,该脚本将在我的供应商无法交付所选商品的情况下,寻找可在我的eshop中提供的替代商品。这个想法是比较一个替代项目的各个方面,并根据我可以决定提供哪些项目来计算相似性得分。
我的全部数据存储在三个数据框中: 第一个具有第一个项目的所有数据(品牌名称,类型,型号,尺寸,重量,屏幕尺寸,无论您想到什么) 第二个商店中所有其他商品的数据相同 第三个具有描述该项目的所有字段的权重系数。因此,所有不同的属性都会为最终的相似度得分增加不同的数量。
因此,我需要遍历所有第二个数据帧,并将每个项目的每个属性字段与第一个项目的相应字段进行比较,并根据来自第三个数据帧的字段权重来计算该字段的部分得分。
哪个会更快:
编写一个用于比较单个字段并使用此命令逐行进行比较的函数:
df['score'] = df.apply(compare_function, axis=1)
或获取第二个数据框中的产品列表,然后使用for loops
在这些数据框中进行比较,以比较相应的字段。