Хотите попробовать силы в Data Science? Пройдите бесплатный онлайн-интенсив по обработке и анализу данных с 14 по 16 ноября. Начало прямых трансляций — в 19:00 по московскому времени.
Записывайтесь: 👉 https://clc.to/d11DAA
Кому полезен интенсив:
📌 Интересующимся новичкам. Узнаете, с чем сталкиваются в работе специалисты по данным. Решите несколько реальных задач и оцените, интересна ли вам эта профессия.
📌 Начинающим специалистам. Научитесь применять Python для построения статистических моделей. Поработаете с библиотеками Pandas и Matplotlib. Разберёте несколько практических заданий и повысите свой уровень.
💬 Спикер интенсива — руководитель направления по исследованию данных в Сбере с семилетним опытом в программировании Анастасия Борнева.
🎁 Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.
Записывайтесь: 👉 https://clc.to/d11DAA
Кому полезен интенсив:
📌 Интересующимся новичкам. Узнаете, с чем сталкиваются в работе специалисты по данным. Решите несколько реальных задач и оцените, интересна ли вам эта профессия.
📌 Начинающим специалистам. Научитесь применять Python для построения статистических моделей. Поработаете с библиотеками Pandas и Matplotlib. Разберёте несколько практических заданий и повысите свой уровень.
💬 Спикер интенсива — руководитель направления по исследованию данных в Сбере с семилетним опытом в программировании Анастасия Борнева.
🎁 Участвуйте, задавайте вопросы и получите сертификат на 10 000 рублей на любой курс Skillbox.
Определение метода тестирования
Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе.
Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no_grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования.
Наконец, мы вычисляем средние потери для набора тестов и общую точность.
Это нужно для того, чтобы мы могли оценивать нашу модель и выводить точность на тестовом наборе.
Большие отличия от метода тестирования заключаются в том, что мы используем model.eval(), чтобы перевести модель в режим тестирования, и torch.no_grad(), который отключит вычисление градиента, так как мы не используем обратное распространение во время тестирования.
Наконец, мы вычисляем средние потери для набора тестов и общую точность.
Как исправить «NameError: Name Is Not Defined» в Python
Мы получили сообщение об ошибке: NameError: name 'age' is not defined. Это означает, что переменная age не существует, мы её не задали.
Чтобы исправить это, мы можем создать переменную, и наш код будет работать нормально. К примеру, это можно сделать следующим образом
Мы получили сообщение об ошибке: NameError: name 'age' is not defined. Это означает, что переменная age не существует, мы её не задали.
Чтобы исправить это, мы можем создать переменную, и наш код будет работать нормально. К примеру, это можно сделать следующим образом
Дальнейшая обработка данных
Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.
Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.
Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.
Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.
Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Перемещение и удаление файлов в Python
Чтобы переместить файл, мы можем воспользоваться модулем os или модулем shutil. Вы увидите перемещение файла при помощи метода rename() из модуля os.
Синтаксис rename() тот же, только в качестве второго аргумента указывается путь к целевому файлу с именем самого файла.
os.rename(исходноеместонахождение, целевоеместонахождение)
Чтобы переместить файл, мы можем воспользоваться модулем os или модулем shutil. Вы увидите перемещение файла при помощи метода rename() из модуля os.
Синтаксис rename() тот же, только в качестве второго аргумента указывается путь к целевому файлу с именем самого файла.
os.rename(исходноеместонахождение, целевоеместонахождение)
Дальнейшая обработка данных
Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.
Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.
Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Иногда, чтобы очистить данные, бывает нужно отбросить некоторые столбцы, создать новый столбец из существующих данных или удалить строки, не содержащие определенных данных.
Здесь в третьей строке мы отбрасываем два столбца с именами Id и Name и возвращаем копию нового датафрейма.
Четвертая строка проверяет, содержит ли столбец Type строку frozen или green, затем возвращает True и сохраняет эту строку.
Удаление URL-адресов
Для получения данных многие пользуются опросами. Но люди невнимательно заполняют поля, и порой в этих данных встречаются URL-адреса. Регулярное выражение, приведенное ниже, удаляет URL.
Вы можете использовать и любой другой regex-паттерн для поиска URL. Здесь найденные адреса заменяются пустой строкой.
Для получения данных многие пользуются опросами. Но люди невнимательно заполняют поля, и порой в этих данных встречаются URL-адреса. Регулярное выражение, приведенное ниже, удаляет URL.
Вы можете использовать и любой другой regex-паттерн для поиска URL. Здесь найденные адреса заменяются пустой строкой.
Перевод данных в нижний регистр
Весьма вероятно, что вам придется изменить регистр данных. Здесь мы переводим их в нижний.
Первые две строки кода заменяют табы и символы перевода строки на пустые строки. Третья строка ищет два и более пробелов при помощи регулярного выражения, а затем заменяет их на один пробел. Наконец, последняя строка обрезает данные с обоих концов, удаляя пробелы.
Весьма вероятно, что вам придется изменить регистр данных. Здесь мы переводим их в нижний.
Первые две строки кода заменяют табы и символы перевода строки на пустые строки. Третья строка ищет два и более пробелов при помощи регулярного выражения, а затем заменяет их на один пробел. Наконец, последняя строка обрезает данные с обоих концов, удаляя пробелы.
Профилирование
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Хотите получить новый навык в стек или систематизировать существующие знания?
У Яндекс Практикума есть курсы по разработке для опытных программистов.
На них можно:
— освоить Go, C++ и React на продвинутом уровне;
— прокачаться от джуна до мидла во фронтенде и бэкенде;
— научиться тестировать веб-приложения на Python;
— освоить асинхронное программирование на Python;
— разобраться в алгоритмах и структурах данных для работы и собеседований;
— освоить DevOps для эксплуатации и разработки.
На курсах актуальная программа, которая основана на исследованиях рынка труда. А ещё — код-ревью и советы от опытных наставников.
Познакомьтесь с профессиями и протестируйте формат бесплатно. А если решите продолжать учиться — до 30 ноября действует скидка 20% от Яндекса к Чёрной пятнице. Скидка действует только при оплате помесячно или в кредит.
→ Приходите учиться, чтобы расти в карьере.
У Яндекс Практикума есть курсы по разработке для опытных программистов.
На них можно:
— освоить Go, C++ и React на продвинутом уровне;
— прокачаться от джуна до мидла во фронтенде и бэкенде;
— научиться тестировать веб-приложения на Python;
— освоить асинхронное программирование на Python;
— разобраться в алгоритмах и структурах данных для работы и собеседований;
— освоить DevOps для эксплуатации и разработки.
На курсах актуальная программа, которая основана на исследованиях рынка труда. А ещё — код-ревью и советы от опытных наставников.
Познакомьтесь с профессиями и протестируйте формат бесплатно. А если решите продолжать учиться — до 30 ноября действует скидка 20% от Яндекса к Чёрной пятнице. Скидка действует только при оплате помесячно или в кредит.
→ Приходите учиться, чтобы расти в карьере.
Генераторные фунции (generator functions)
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield
Имя функции не определено
В этом примере мы добавили лишнюю букву o при вызове функции — sayHelloo() вместо sayHello(). Это просто опечатка, однако она вызовет ошибку, потому что функции с таким именем не существует.
Итак, мы получили ошибку: NameError: name 'sayHelloo' is not defined. Подобные орфографические ошибки очень легко пропустить. Сообщение об ошибке обычно помогает исправить это.
В этом примере мы добавили лишнюю букву o при вызове функции — sayHelloo() вместо sayHello(). Это просто опечатка, однако она вызовет ошибку, потому что функции с таким именем не существует.
Итак, мы получили ошибку: NameError: name 'sayHelloo' is not defined. Подобные орфографические ошибки очень легко пропустить. Сообщение об ошибке обычно помогает исправить это.
Если вам не всё равно, где и с кем работать, загляните в Эйч Teams.
Сервис развития карьеры Эйч запустил площадку, где ведущие IT-компании рассказывают всё о своих технических, продуктовых и креативных командах.
Люди, best practices, культура, вакансии — короче, познакомиться с коллегами, экспертизой и работой в компании можно ещё до первого собеседования.
С какими командами уже можно познакомиться?
— Альфа-Банк: команда разработки внутрибанковского ПО
— Росбанк: команда разработчиков мобильного приложения
— Билайн: команда инженеров данных
— X5 Tech: Команда управления продуктами «Подписка» и «X5 ID»
— Ozon: команда проекта «Большие сезоны»
— Самокат: команда редакции приложения
Кстати, на сайт прикрутили тест на совместимость — можно потыкать и узнать, в какой команде вам будет комфортно работать. 👉🏻 https://h.careers/teams
Сервис развития карьеры Эйч запустил площадку, где ведущие IT-компании рассказывают всё о своих технических, продуктовых и креативных командах.
Люди, best practices, культура, вакансии — короче, познакомиться с коллегами, экспертизой и работой в компании можно ещё до первого собеседования.
С какими командами уже можно познакомиться?
— Альфа-Банк: команда разработки внутрибанковского ПО
— Росбанк: команда разработчиков мобильного приложения
— Билайн: команда инженеров данных
— X5 Tech: Команда управления продуктами «Подписка» и «X5 ID»
— Ozon: команда проекта «Большие сезоны»
— Самокат: команда редакции приложения
Кстати, на сайт прикрутили тест на совместимость — можно потыкать и узнать, в какой команде вам будет комфортно работать. 👉🏻 https://h.careers/teams
Обнаружение плагиата
Один из важнейших факторов работы с текстовым контентом — плагиат. Не всегда возможно проверить каждый файл вручную, особенно, если у вас целый пакет файлов. Тут пригодится инструмент для выявления плагиата. Мы можем создать собственный детектор при помощи библиотеки difflib. Ее можно использовать для поиска сходства между двумя или несколькими файлами на одном устройстве.
Один из важнейших факторов работы с текстовым контентом — плагиат. Не всегда возможно проверить каждый файл вручную, особенно, если у вас целый пакет файлов. Тут пригодится инструмент для выявления плагиата. Мы можем создать собственный детектор при помощи библиотеки difflib. Ее можно использовать для поиска сходства между двумя или несколькими файлами на одном устройстве.