Выполняется работа строго в репозитории python-dh-hw
в файле Exam.ipynb
, лежащем в корне репозитория. Регистр в названиях важен!
NB! Перед выполнением обязательно посмотрите образец оформления работы.
Скачайте английский текст первой книги о Гарри Поттере. Он должен быть сохранен отдельным файлом.
- Прочитайте файл и запишите текст в какую-нибудь переменную.
- Напишите регулярное выражение, которое найдет в этом тексте все слова, начинающиеся на латинскую H, написанные с большой буквы и длиной от 5 символов и больше. Т.е. выражение должно ловить такие слова как Harry, Hermione, Hagrid, Hogwarts и т.д., не захватывая при этом пробелы и знаки пунктуации.
- Напечатайте количество совпадений (т.е. сколько всего слов в тексте нашло регулярное выражение), предварительно сохранив их в список.
- Затем сделайте из списка множество, чтобы посмотреть, сколько уникальных слов попало под этот шаблон. Распечатайте содержимое этого множества. Какие слова, кроме имен и названий, туда попали и почему?
- Очистите текст от пунктуации, приведите его к нижнему регистру, а затем удалите из него стоп-слова.
- Постройте barplot для 30 самых частотных слов. Эти слова должны быть в виде подписей к делениям по оси Х; подписи должны быть развернуты на 90 градусов против часовой стрелки, чтобы надписи шли как бы снизу вверх. Значениями по оси Х будет ряд чисел от 0 до 30, а по оси Y -- относительная частота (абсолютная частота слова / длину всего текста в словах * 1000). Длину текста нужно посмотреть до удаления стоп-слов! На графике также должен быть заголовок и подписи осей.
Как сократить количество знаков после запятой? Например, до трех:
float("{0:.3f}".format(17.212123445))
Результатом будет число 17.212. Если у вас есть список с числами, и нужно отформатировать каждое число в этом списке, то код будет такой:
numbers = [17.212123445, 0.39990843435, 9.1393923]
new_numbers = [float("{0:.3f}".format(nr)) for nr in numbers]
Список new_numbers
будет выглядеть так: [17.212, 0.4, 9.139]
После решения задач необходимо выложить решение в Github и проверить, что вы видите ваше решение по ссылке https://github.com/*ваш username на github*/python-dh-hw/blob/master/Exam.ipynb