Python School
82.2K subscribers
2.41K photos
8 videos
575 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
UserList

UserList — это похожий на список контейнерный тип данных, который является классом-оболочкой для списков.

Синтаксис будет следующим: collections.UserList([list]).

Вы передаете обычный список в качестве аргумента userlist. Этот список хранится в атрибуте ‘data’ и доступен через метод UserList.data.
UserString

Подобно тому, как UserLists является классом-оболочкой для списков, UserString является классом-оболочкой для строк.

UserString позволяет добавлять к строке определенное поведение. Вы можете передать этому классу любой конвертируемый в строку аргумент и затем получить доступ к этой строке, используя атрибут data

Как видите, число 765 было преобразовано в строку «765», и доступ к ней можно получить с помощью метода UserString.data.
Как и когда можно использовать UserString

UserString можно использовать для изменения строк или выполнения определенных функций.

Предположим, вы хотите удалить определенное слово из текстового файла (где бы оно ни было). Возможно, некоторые слова в тексте неуместны.

Давайте посмотрим на пример того, как UserString можно использовать для удаления определенных слов из строки.
UserDict

Это класс-оболочка для словарей. Его синтаксис аналогичен UserList и UserString.

Мы передаем словарь в качестве аргумента, который хранится в атрибуте ‘data’.
Pyperclip

Этот модуль был создан для межплатформенного копирования в Python. В Pyperclip есть функции copy() и paste(), которые могут отправлять текст в буфер обмена и получать текст из него.

Отправка вывода вашей программы в буфер обмена облегчает его вставку в email, текстовый редактор или другую программу.
Defaultdict

Словарь представляет из себя неупорядоченный набор ключей и значений.

В парах ключ:значение ключи должны быть уникальны и неизменяемы. Поэтому список не может быть ключом словаря, так как он изменяемый.
Хотите изменить жизнь и приобрести новую высокооплачиваемую профессию?

Специально для вас мы разработали бесплатный курс, посвящённый IT-специальностям.

Вы узнаете:

– чем занимаются фронтэнд-разработчики;
– кто обеспечивает безопасность данных и приложений;
– зачем проводить ручное и автоматические тестирование ПО;
– как создаются мобильные приложения для iOS и Android;
– кто такой дата-сайентист и как им стать, где применяются алгоритмы машинного обучения и чем они полезны в бизнесе — и это ещё не всё!

Вы сможете попробовать себя в самых популярных профессиях, выполнив задания к каждому из восьми модулей. А в конце программы вы пройдёте небольшой тест на профориентацию. По его результатам мы подберём для вас наиболее подходящее направление и подскажем, какая профессия станет идеальным стартом для вашей IT-карьеры.

Все подробности по ссылке: https://clc.to/PjWd4Q
Черная пятница в Skillbox — скидки до 60% на курсы и профессии до конца ноября.
Как найти наиболее частотные элементы с помощью счетчика

Счетчик очень полезен в реальных приложениях. Особенно, когда вам нужно обработать большие данные, и вы хотите узнать частотность некоторых элементов. Давайте рассмотрим несколько очень полезных методов, использующих counter.

Counter().most_common([n])
Counter

Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет.

К примеру, у вас есть список каких-то случайных чисел. Что, если вы хотите узнать, сколько раз встречается каждое число?

Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки.
Не упустите возможность начать карьеру в одной из самых востребованных IT-профессий!

На курсе «Профессия Data Scientist PRO» вы:

Изучите одно из 3 востребованных направлений на выбор — дата-аналитику, дата-инженерию или машинное обучение.
Освоите Python, библиотеки для анализа данных и машинного обучения, SQL, Git, научитесь работать с Power BI и другими актуальными для дата-сайентиста инструментами.
Попрактикуетесь на задачах с реальными данными, примете участие в командных проектах и разберёте кейсы.
Сможете трудоустроится на позицию Junior во время обучения.
Добавите до 9 проектов в портфолио.
С вами будет работать личный наставник. Он не только укажет на ошибки, но и поможет разобраться в сложных темах и ответит на вопросы.

Курс участвует в Черной пятнице — скидки до 60% на курсы и профессии!

Переходите по ссылке, чтобы узнать подробнее и забронировать место со скидкой: https://clc.to/iJbrig
Как заменить атрибут в именованном кортеже

Что делать, если значение одного атрибута необходимо изменить?

Вам нужно обновить его в данных. Для этого просто воспользуемся методом ._replace()
Модуль os

Данный модуль предоставляет доступ к уникальным функциям, зависящим от конкретной системы. Атрибут os.name покажет тип операционной системы:

posix — для linux и macOS
nt — для операционных систем семейства Windows
java — для систем, работающих в виртуальной Java-машине (например, Android)

Модуль позволяет создавать, удалять, переименовывать файлы и папки. Возможность менять директорию и писать вместо /foler/file1, /foler/file2 и тд, можно просто сменить директорию через функцию os.chdir().

os.access() - проверить наличие файла и возможность записи/чтение.

os.listdir() - список файлов и вложенных каталогов.

os.path.abspath() - вернет абсолютный путь по относительному.

Полный список и документацию можно посмотреть через dir() и help() соответственно.
Хотите попробовать силы в Data Science? Пройдите бесплатный онлайн-интенсив по обработке и анализу данных с 14 по 16 ноября. Начало прямых трансляций — в 19:00 по московскому времени.

Записывайтесь: 👉 https://clc.to/d11DAA

Кому полезен интенсив:

📌 Интересующимся новичкам. Узнаете, с чем сталкиваются в работе специалисты по данным. Решите несколько реальных задач и оцените, интересна ли вам эта профессия.
📌 Начинающим специалистам. Научитесь применять Python для построения статистических моделей. Поработаете с библиотеками Pandas и Matplotlib. Разберёте несколько практических заданий и повысите свой уровень.

💬 Спикер интенсива — руководитель направления по исследованию данных в Сбере с семилетним опытом в программировании Анастасия Борнева.

🎁 Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.
Определение метода тестирования

Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе.

Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no_grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования.

Наконец, мы вычисляем средние потери для набора тестов и общую точность.
Как исправить «NameError: Name Is Not Defined» в Python

Мы получили сообщение об ошибке: NameError: name 'age' is not defined. Это означает, что переменная age не существует, мы её не задали.

Чтобы исправить это, мы можем создать переменную, и наш код будет работать нормально. К примеру, это можно сделать следующим образом
Дальнейшая обработка данных

Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.

Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.

Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Отбрасываем строки с пустыми данными

После выполнения предыдущих шагов по очистке в столбцах остаются пустые данные. От этих пустых строк нужно избавиться, иначе это создаст неопределенность при обучении модели.
Перемещение и удаление файлов в Python

Чтобы переместить файл, мы можем воспользоваться модулем os или модулем shutil. Вы увидите перемещение файла при помощи метода rename() из модуля os.

Синтаксис rename() тот же, только в качестве второго аргумента указывается путь к целевому файлу с именем самого файла.

os.rename(исходноеместонахождение, целевоеместонахождение)
Дальнейшая обработка данных

Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.

Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.

Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Чтение файлов и запись в них

Чтобы выполнить любую из операций чтения и записи, нам нужно сделать три основных шага:

Открыть файл
Выполнить операцию
Закрыть файл
Мы можем проделывать эти шаги, используя два паттерна. Объяснить их на словах сложно, но мы сделаем это при помощи кода.
Удаление URL-адресов

Для получения данных многие пользуются опросами. Но люди невнимательно заполняют поля, и порой в этих данных встречаются URL-адреса. Регулярное выражение, приведенное ниже, удаляет URL.

Вы можете использовать и любой другой regex-паттерн для поиска URL. Здесь найденные адреса заменяются пустой строкой.