python - 如何防止 Counter() 拆分我的字符串?
问题描述
因此,我使用集合中的 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})
推荐阅读
- python - 是否可以使用 lxml 将文本视为 xml 元素?
- excel - 从 Excel 电子表格中的指定行中提取数据
- c# - 使用自定义值解析器映射时的解析器生命周期
- grep - GNU Parallel——如何理解“块大小”设置,并猜测将其设置为什么?
- ms-access - 更新到 Office 365 版本 1912 会中断 ODBC 连接(32 位)?
- c - 如何使用指针初始化和打印结构并将其提供给函数?
- java - 将 nvarchar 值“....”转换为数据类型 int 时转换失败
- typescript - 为什么即使显式设置,打字稿也会扩大属性的类型?
- python - 为什么我使用 https://github.com/amosbastian/fpl 访问 FPL API 的代码会失败?
- php - Stripe - 向用户收费并通过电子邮件发送发票