gpt4 book ai didi

python - 计算不同长度向量中元素出现的总数

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:18 24 4
gpt4 key购买 nike

我有 3 个非常长(超过 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,但所有列的长度必须相同。同样,基于行的简单求和也不起作用,因为同一产品可能在每一列的不同行上。

有谁知道最好的方法是什么?我知道我可以做简单的暴力循环,但如果我可以使用 numpy 或 pandas 的东西,我不想这样做。

最佳答案

您可以使用 Counterchain在几行中做到这一点:

from collections import Counter
from itertools import chain

v1 = ['product1','product2','product3']
v2 = ['product3','product1','product5','product7','product10']
v3 = ['product1','product10']

c = Counter(chain(v1, v2, v3))
# more space-efficient than Counter(v1 + v2 + v3)
# Counter({'product1': 3, 'product10': 2, 'product3': 2, 'product7': 1, 'product5': 1, 'product2': 1})

c['product10']
# 2

关于python - 计算不同长度向量中元素出现的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com