Разве вы не хотите знать, сколько раз Ф. Скотт Фицджеральд использовал букву «е»?

Хотя это руководство предназначено для начинающих, мы не будем устанавливать здесь Python или редактор кода, а также не будем рассматривать вводные концепции программирования, такие как переменные и циклы. Вы можете скачать питон здесь!

Цель этой статьи — помочь вам начать работу с графическими данными в Python. Мы создадим гистограмму, чтобы отобразить частоту появления символов в заданном текстовом файле. В этом случае текстовый файл содержит содержимое «Великого Гэтсби».

Шаг 1: Создайте свою виртуальную среду

Среда для этого проекта будет относительно небольшой. Виртуальная среда позволяет вам добавлять дополнительные функции в ваше рабочее пространство, не затрагивая остальную часть вашего компьютера!

Создайте каталог и откройте его в редакторе кода и терминале (там, где вы запускаете команды).

Давайте работать:

$ python3 -m venv venv
$ source venv/bin/activate

И мы можем установить наши необходимые зависимости с помощью

$ pip3 install matplotlib

Давайте также создадим два файла, read.txt и wordcount.py.

Мы будем использовать wordcount.py для анализа текста в read.txt.

Шаг 2: Прочитайте текст

Мы можем начать относительно просто,

  • Во-первых, он импортирует наши библиотеки построения графиков и сортировки.
  • Во-вторых, мы используем встроенную функцию открытия, которая позволяет нам открывать файл для чтения и записи.
  • Затем мы читаем текст внутри файла и сохраняем его в текстовую переменную
  • Наконец, мы закрываем файл, так как мы его больше не используем.

Это все, что нам нужно, чтобы «прочитать» файл и сохранить содержимое в переменной.

Шаг 3: Анализ персонажей

Лучший способ отслеживать символы — использовать словарь Python (известный в других языках программирования как хэш-карта).

Словарь — очень удобный способ хранения данных. Как и в настоящем словаре, в нем будет список «слов», и вы сможете посмотреть на слово, чтобы увидеть определение.

В программировании эта концепция обобщается на пары «ключ/значение». Это означает, что мы можем настроить словарь таким образом, чтобы, когда я запрашиваю у словаря «а», он возвращал общее количество раз, когда «а» появлялась.

Итак, давайте закодируем это!

Давайте посмотрим, что здесь происходит

  • Сначала мы определяем пустой словарь
  • Затем мы определяем функцию, используя ключевое слово def. Эта функция принимает переменную «символ» и проверяет, является ли она пробелом (пробелом, табуляцией, новой строкой). Вы можете добавить дополнительные критерии по своему выбору, например isalpha(), чтобы определить, является ли символ буквой
  • Затем проверяет, есть ли он уже в словаре. Если он есть в словаре, он изменит значение на то, что было раньше, плюс 1 (поскольку мы считаем этот символ), в противном случае он добавит новую запись в словарь с начальным счетчиком 1.
  • Затем мы перебираем каждый символ в текстовой переменной, где «i» представляет собой отдельный символ, мы сохранили и запускаем нашу функцию для их подсчета.
  • Наконец, мы сортируем словарь в алфавитном порядке, используя импорт OrderdedDict.

Шаг 4: Спланируйте это!

Теперь, когда наш набор данных создан, давайте организуем его по осям и построим график!

Мы создадим список для представления каждой оси

num_list = []
char_list = []

Эти списки будут соответствовать друг другу, поэтому, если элемент 1 был «a» в char_list, элемент 1 в num_list будет соответствующей частотой. Давайте закодируем это тоже

Мы используем две переменные для циклического перебора пар ключ/значение в созданном нами словаре, а затем добавляем их в наши списки данных.

Наконец, давайте используем matplotlib для создания и сохранения этой гистограммы.

  • Сначала мы создаем новую фигуру. Фигура представляет собой общее окно
  • Добавьте график к рисунку
  • Добавьте гистограмму с выбранными нами данными
  • Скачать изображение
  • Показать изображение

Время проверить это!

Запустите файл с приведенным ниже кодом и приготовьтесь к нашим результатам!

$ python3 wordcount.py

Итак, чтобы ответить на вопрос, который я задал в начале статьи, буква е используется в «Великом Гэтсби» более 25 000 раз! Ух ты!

Заключение

К концу этой статьи, я надеюсь, вы узнали кое-что о matplotlib и науке о данных. Вы можете использовать код, который мы написали сегодня, для простого анализа данных, например, знаете ли вы, что буква «е» является наиболее часто используемой буквой в английском языке? В нашем примере Ф. Скотт Фитцджеральд наверняка много раз его использовал!

Вы можете проверить весь проект на моем GitHub:



И если вам интересно больше подобных статей, обязательно подпишитесь на меня и оставьте комментарий!