Использование collections.Counter для больших данных рассола - PullRequest
1 голос
/ 16 июня 2020

У меня есть файл pickle, содержащий более миллиона слов. Файл рассола можно загрузить из здесь .

Я хочу использовать Counter для этих слов, чтобы отсортировать их. Вот мой код:

with open('data/words.pkl', 'rb') as f:
    data = list(pickle.load(f))

print(Counter(data).most_common(3))

Печатный результат меняется каждый раз, но обычно это так:

[('', 1), ('fraksiyonal', 1), ('editado', 1)]

Итак, кажется, что слова не считаются, и каждое вхождение слова 1. Что я делаю не так?

Изменить: В качестве примера того, как выглядит список данных:

print(data[0:10])

Результат:

['', 'hillview', 'dipnota', 'дол', 'censusi', 'quathie', 'kalacağının', 'stralauerstrasse', 'sbaglio', 'keny']

1 Ответ

2 голосов
/ 16 июня 2020

Проблема с вашими данными. В комментарий вы сказали:

Я изменил его на список, потому что данные загрузки рассола являются заданным объектом

Наборы не могут содержать дубликаты, поэтому счет всегда равен 1.


должный кредит jasonharper за публикацию комментарий , который выяснил это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...