Как сохранить Counter () от разделения моих строк? - PullRequest
0 голосов
/ 05 февраля 2020

Итак, я использую метод 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 () или есть более эффективный метод?

1 Ответ

3 голосов
/ 05 февраля 2020

Вы можете просто дать список в качестве ввода для 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})
...