我有三个非常长(100K+元素)的产品名称向量。每个向量的长度都不同。我的目标是计算每个产品在多少个向量中出现。就像这样:
v1 = ['product1','product2','product3']
v2 = ['product3','product1','product5','product7','product10']
v3 = ['product1','product10']
'product1' 3
'product2' 1
'product3' 2
'product5' 1
'product7' 1
'product10' 2
向量中的产品可以以任何顺序出现,而且在每个向量中,每个产品只出现一次。
我想在这里使用 pandas 的 DataFrame
,但是所有列必须具有相同的长度。此外,基于行的简单求和将不起作用,因为同一产品可能在每个列中的不同行上出现。
有人有什么好的方法来解决这个问题吗?我知道我可以使用简单的 bruteforce 循环,但如果我可以使用 numpy 或 pandas 中的某些东西,我就不想使用循环。
pd.value_counts(v1 + v2 + v3)
可以完成此操作。 - ayhan