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

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

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

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

РКН: clck.ru/3G6pBb
加入频道
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. Здесь найденные адреса заменяются пустой строкой.
Перевод данных в нижний регистр

Весьма вероятно, что вам придется изменить регистр данных. Здесь мы переводим их в нижний.

Первые две строки кода заменяют табы и символы перевода строки на пустые строки. Третья строка ищет два и более пробелов при помощи регулярного выражения, а затем заменяет их на один пробел. Наконец, последняя строка обрезает данные с обоих концов, удаляя пробелы.
Удаление эмодзи

Зачастую нам не нужны эмодзи в текстовых наборах данных. Мы можем их удалить всего одной строчкой кода. Сниппет, приведенный ниже, будет удалять эмодзи из датафрейма pandas столбец за столбцом. Этот сниппет можно найти на Stackoverflow.
Удаление дублирующихся данных

Чтобы очистить данные, некоторые шаги нужно сделать обязательно. Один из таких шагов — удаление дубликатов. И тут не важно, идет речь о текстовых или числовых данных. Если у вас слишком много дубликатов, это увеличивает время обработки данных.