【发布时间】:2020-02-05 20:22:12
【问题描述】:
所以我正在使用集合中的 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() 还是有更有效的方法?
【问题讨论】:
-
将
country_counter.update(x)替换为country_counter.update((x,))。 -
您可以完全跳过循环:
countery_counter.update(my_list)。