如何防止 Counter() 拆分我的字符串?

How do I keep Counter() from splitting up my strings?

所以我使用集合中的 Counter() 方法并尝试从数据框中读取列以获取特定国家/地区的计数。问题在于 Counter() 将读入的字符串拆分为单个字母。例如我是 运行 类似的东西:

from collections import Counter 

country_counter = Counter()

my_list = ['US', 'US', 'Mex', 'Can', 'US', 'Can']

for x in my_list:
    country_counter.update(x)

这给出了输出:

Counter({'U': 3, 'S': 3, 'M': 1, 'e': 1, 'x': 1, 'C': 2, 'a': 2, 'n': 2})

但我正在尝试:

Counter({'US': 3, 'Can': 2, 'Mex': 1})

关于如何更正此问题的任何帮助?我应该使用 Counter() 还是有更有效的方法?

您可以简单地将列表作为 Counter 的输入。目前您正在做的是遍历每个字符串并将其作为输入,因此如果您给它输入,计数器会考虑单个字母。

>>> from collections import Counter 
>>> my_list = ['US', 'US', 'Mex', 'Can', 'US', 'Can']
>>> c=Counter(my_list)
>>> c
Counter({'US': 3, 'Can': 2, 'Mex': 1})