Чем занимается аналитик данных — открытый урок по Python и SQL 🎓
Приглашаем вас на открытый онлайн-урок Нового технологического университета, где вы увидите, как аналитики работают с данными в реальных задачах.
На занятии вы:
➡️ поймете, такой аналитик данных и чем он занимается
➡️ выполните две практические задачи на Python и SQL, даже если ни разу этого не делали
➡️ разберетесь, стоит ли идти в профессию сейчас, и что будет с рынком IT через 1-3-5 лет
➡️ поймете, как стать аналитиком данных в 2026, даже если вы еще учитесь в ВУЗе
Урок подойдет, даже если у вас нет опыта в программировании или аналитике.
Спикер — Ева Панкратова, руководитель продуктовой аналитики в М2, ex-Райффайзенбанк.
Занятие пройдет онлайн, участие бесплатное. Сразу после регистрации вы получите бонус: сборник идей для портфолио.
→ Регистрируйтесь: ссылка
Приглашаем вас на открытый онлайн-урок Нового технологического университета, где вы увидите, как аналитики работают с данными в реальных задачах.
На занятии вы:
➡️ поймете, такой аналитик данных и чем он занимается
➡️ выполните две практические задачи на Python и SQL, даже если ни разу этого не делали
➡️ разберетесь, стоит ли идти в профессию сейчас, и что будет с рынком IT через 1-3-5 лет
➡️ поймете, как стать аналитиком данных в 2026, даже если вы еще учитесь в ВУЗе
Урок подойдет, даже если у вас нет опыта в программировании или аналитике.
Спикер — Ева Панкратова, руководитель продуктовой аналитики в М2, ex-Райффайзенбанк.
Занятие пройдет онлайн, участие бесплатное. Сразу после регистрации вы получите бонус: сборник идей для портфолио.
→ Регистрируйтесь: ссылка
❤1
📌 Помощники цикла
Эти функции упрощают работу при работе с итерируемыми объектами. Использовать их можно как угодно, но чаще всего они встречаются рядом с for.
Если вы что-то не поняли, то можете посетить документацию: enumerate, zip и reversed.
#урок
Эти функции упрощают работу при работе с итерируемыми объектами. Использовать их можно как угодно, но чаще всего они встречаются рядом с for.
enumerate(iter, start=0) — возвращает кортеж типа (индекс, значение). Если передать второй параметр, то индекс сместиться на start единиц. reversed(iter) — проходится по объекту задом наперёд. Если это невозможно, выдаёт ошибку.zip(*args) — параллельно проходит по всем объектам, возвращая по элементу с каждого. Если вы что-то не поняли, то можете посетить документацию: enumerate, zip и reversed.
#урок
❤6👍2
Учим приложения общаться
Как-то приложения должны передавать данные друг-другу. И делается это через API, которое можно быстро написать с использованием фреймворка hug.
Установка:
Всё максимально просто, копируем пример с официального сайта и запускаем с помощью
#урок
Как-то приложения должны передавать данные друг-другу. И делается это через API, которое можно быстро написать с использованием фреймворка hug.
Установка:
pip3 install hug
С его помощью можно быстро написать API для браузера (HTTP) или терминала (CLI). Также он считается самым фреймворком для создания оболочки взаимодействия пользователя с приложением.Всё максимально просто, копируем пример с официального сайта и запускаем с помощью
hug -f file.py. Потом открываем браузер и переходим по http://127.0.0.1:8000/echo.#урок
❤5🔥4
📌 Ведём логи
Логи — записи работы приложения, начиная от простой информации и заканчивая критическими ошибками. Они упрощают поиск багов и помогают их быстро исправлять. Для работы с этим чудом используется logging.
Настройки (название файла, уровень записи) задаются с помощью
Обычно этой информации хватает, чтобы пользоваться logging, но если вы считаете по другому, то можете перейти к уроку или к API Reference.
#урок
Логи — записи работы приложения, начиная от простой информации и заканчивая критическими ошибками. Они упрощают поиск багов и помогают их быстро исправлять. Для работы с этим чудом используется logging.
Настройки (название файла, уровень записи) задаются с помощью
basicConfig(), после вы можете записывать туда данные с помощью debug(), info(), warning(), error().Обычно этой информации хватает, чтобы пользоваться logging, но если вы считаете по другому, то можете перейти к уроку или к API Reference.
#урок
❤5🔥3
📌 Что такое args и kwargs?
Бывают ситуации, когда мы не знаем сколько аргументов будет принимать функция. В таких ситуациях нам помогают
Стоит отметить, что имена у этих переменных могут быть любыми, самое главное — знаки перед ними (одна или две звёздочки)
#урок
Бывают ситуации, когда мы не знаем сколько аргументов будет принимать функция. В таких ситуациях нам помогают
*args и **kwargs.*args — кортеж из аргументов переданных функции. **kwargs — словарь, состоящий из значений, переданных по ключу. Стоит отметить, что имена у этих переменных могут быть любыми, самое главное — знаки перед ними (одна или две звёздочки)
#урок
❤7👍3
📌 Что такое итерация и кто такие итераторы?
У нас есть объекты, в которых хранится множество значений (список, множество, кортёж). И мы можем поочерёдно брать их элементы (первый, второй, потом третий и так до конца). Это и есть итерация.
В данном случае этот объект с элементами (пусть будет список) является итерируемым объектом, потому что по нему можно «пройтись».
Когда мы пытаемся «пройтись», список возвращает итератор, который уже даёт нам доступ к элементам в определённом порядке. Также итератор можно получить с помощью функции iter.
#урок
У нас есть объекты, в которых хранится множество значений (список, множество, кортёж). И мы можем поочерёдно брать их элементы (первый, второй, потом третий и так до конца). Это и есть итерация.
В данном случае этот объект с элементами (пусть будет список) является итерируемым объектом, потому что по нему можно «пройтись».
Когда мы пытаемся «пройтись», список возвращает итератор, который уже даёт нам доступ к элементам в определённом порядке. Также итератор можно получить с помощью функции iter.
#урок
❤5🔥4
📌 Работаем с изображениями
Решением такой задачи занимается pillow — мощный инструмент для редактирования фото на Python.
Установка:
Подробнее
#урок
Решением такой задачи занимается pillow — мощный инструмент для редактирования фото на Python.
Установка:
pip install Pillow
Модуль поддерживает почти все форматы изображений, в том числе и psd. Он может считывать данные с изображения, а может и спокойно редактировать его, накладывать эффекты и тому подобное.Подробнее
#урок
❤6🔥3
📌 Методы строк, о которых надо знать
• ljust, rjust, center — используются для позиционирования строки. Заполняет её пробелами, слева/справа/сдвухсторон пока её длинна не станет width.
• strip — удаляет лишние символы (r, t, n, пробел) с краёв строки. rstrip и lstrip делают тоже самое, только в конце и начале строки.
• splitlines — разделяет текст на строки. Намного лучше, чем split('n'), поскольку проводит некоторые проверки.
Документация
#урок
• ljust, rjust, center — используются для позиционирования строки. Заполняет её пробелами, слева/справа/сдвухсторон пока её длинна не станет width.
• strip — удаляет лишние символы (r, t, n, пробел) с краёв строки. rstrip и lstrip делают тоже самое, только в конце и начале строки.
• splitlines — разделяет текст на строки. Намного лучше, чем split('n'), поскольку проводит некоторые проверки.
Документация
#урок
❤5👍2
📌 Абстрактные классы
Python, несмотря на динамическую типизацию, не лишена абстрактных классов. Это объекты, которые можно только унаследовать и реализовать какие-то функции.
Создаются они с помощью предустановленного модуля abc. Абстрактные классы наследуются от ABC. А абстрактные методы помечаются
Зачем они нужны? Они позволяют решить проблемы с динамической типизацией и добавляют подсказки при написании кода. Также они часто используются с паттернами.
📕 Документация
#урок
Python, несмотря на динамическую типизацию, не лишена абстрактных классов. Это объекты, которые можно только унаследовать и реализовать какие-то функции.
Создаются они с помощью предустановленного модуля abc. Абстрактные классы наследуются от ABC. А абстрактные методы помечаются
@abstractmethod.Зачем они нужны? Они позволяют решить проблемы с динамической типизацией и добавляют подсказки при написании кода. Также они часто используются с паттернами.
📕 Документация
#урок
❤7🔥3
📌 Дзен Python
У Python есть свод правил, которые должен придерживаться каждый разработчик, чтобы его код был стабильным, гибким и читаемым. Прочитать его можно, выполнив
Тим Петерс решил составить свод из 20 правил, но их всего лишь 19. Почему? 20-е правило должен был написать Гвидо Ван Россум — разработчик Python, но это место до сих пор пустует.
Автор языка хотел таким образом сказать, что у каждого правила есть исключения.
P.S. Если вы с помощью inspect посмотрите код, то увидите явное нарушение этих правил :)
#урок
У Python есть свод правил, которые должен придерживаться каждый разработчик, чтобы его код был стабильным, гибким и читаемым. Прочитать его можно, выполнив
import this.Тим Петерс решил составить свод из 20 правил, но их всего лишь 19. Почему? 20-е правило должен был написать Гвидо Ван Россум — разработчик Python, но это место до сих пор пустует.
Автор языка хотел таким образом сказать, что у каждого правила есть исключения.
P.S. Если вы с помощью inspect посмотрите код, то увидите явное нарушение этих правил :)
#урок
❤5👍2
📌 Аннотация типов. Часть 1
Все мы знаем, что Python — язык с динамической типизацией, то есть язык всю работу касаемо типов объект берёт на себя.
Но у такого подхода есть проблема — редактор кода не знает, что может быть на месте какой-то переменной, из-за чего хуже работает автодополнение.
Также можно передать неправильный тип функции. Ей нужен список, а вы передали множество. Функция отработает и ни Python, ни IDE вам ничего не скажут.
Проблему решили с помощью аннотации, они позволяют редактору узнать, какой тип используется, но никак не меняют поведение программы.
#урок
Все мы знаем, что Python — язык с динамической типизацией, то есть язык всю работу касаемо типов объект берёт на себя.
Но у такого подхода есть проблема — редактор кода не знает, что может быть на месте какой-то переменной, из-за чего хуже работает автодополнение.
Также можно передать неправильный тип функции. Ей нужен список, а вы передали множество. Функция отработает и ни Python, ни IDE вам ничего не скажут.
Проблему решили с помощью аннотации, они позволяют редактору узнать, какой тип используется, но никак не меняют поведение программы.
#урок
❤5👍2
Совет на 2026 год — переходите в ML.
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Артема Алехина.
Его бэкграунд: Руководитель команды в Сбере, валютная удаленка. К 22 годам вышел на доход 1 000 000+ ₽ в месяц.
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://xn--r1a.website/+4VMrjA4vN_dmN2Ey
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Артема Алехина.
Его бэкграунд: Руководитель команды в Сбере, валютная удаленка. К 22 годам вышел на доход 1 000 000+ ₽ в месяц.
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://xn--r1a.website/+4VMrjA4vN_dmN2Ey
❤2👎1
📌 Генераторные списки
Это выражения, которые позволяют нам быстро фильтровать или менять списки. Оно напоминает работу map и filter, только читается чуть проще.
Выглядит оно примерно так: {expression} for i in {iterale} if {expression2}. if используется для фильтрации и его добавление не обязательно.
Записываются эти выражения внутри квадратных скобок ([]), таким образом создаётся список. Если нам нужно множество, записываем в {}, если генератор, в ().
#урок
Это выражения, которые позволяют нам быстро фильтровать или менять списки. Оно напоминает работу map и filter, только читается чуть проще.
Выглядит оно примерно так: {expression} for i in {iterale} if {expression2}. if используется для фильтрации и его добавление не обязательно.
Записываются эти выражения внутри квадратных скобок ([]), таким образом создаётся список. Если нам нужно множество, записываем в {}, если генератор, в ().
#урок
❤5👍2
📓 Байесовский анализ на Python.
Эта книга, посвященная методике вероятностного программирования, научит вас создавать гибкие байесовские статистические модели в программном коде.
Сочетание гибкого определения модели и механизма автоматического логического вывода предоставляет исследователю мощный инструмент для быстрого создания, анализа и постепенного усовершенствования новых статистических моделей. Вероятностное программирование делает статистическое моделирование доступным практически для всех, значительно снижая требования к уровню математической подготовки, позволяя создавать новые модели более простым методом и тратить на это меньше времени.
Издание будет полезно всем специалистам по анализу данных, решающим нетривиальные задачи, связанные с вероятностными распределениями.
#RU
Эта книга, посвященная методике вероятностного программирования, научит вас создавать гибкие байесовские статистические модели в программном коде.
Сочетание гибкого определения модели и механизма автоматического логического вывода предоставляет исследователю мощный инструмент для быстрого создания, анализа и постепенного усовершенствования новых статистических моделей. Вероятностное программирование делает статистическое моделирование доступным практически для всех, значительно снижая требования к уровню математической подготовки, позволяя создавать новые модели более простым методом и тратить на это меньше времени.
Издание будет полезно всем специалистам по анализу данных, решающим нетривиальные задачи, связанные с вероятностными распределениями.
#RU
❤4👍2
📌 Особые методы класса
У класса есть функции (или методы), отвечающие за жизненно важные элементы класса. Но самое интересное то, что вы можете спокойно менять поведение этих методов.
#урок
У класса есть функции (или методы), отвечающие за жизненно важные элементы класса. Но самое интересное то, что вы можете спокойно менять поведение этих методов.
__init__ — конструктор класса. Он вызывается каждый раз, когда создаётся экземпляр класса. Здесь задаются все самые важные значения.__str__, __repr__ — методы для перевода класса в строку. Один вызывается с помощью str() и предназначен для пользователей, второй вызывается с помощью repr() и предназначен для программистов.__eq__ — метод, который вызывается при проверки классов на равенство, то есть при использовании оператора ==.#урок
❤1
📌 Красивый вывод
Небольшие списки/словари ещё можно спокойно читать, но когда появляются вложенные коллекции или словари достигают огромных размеров, их восприятие усложняется в разы.
Поэтому мы можем красиво оформить их вывод с помощью pprint. Модуль добавляет отступы, переносит значения на новую строку, если они не умещаются в одну.
Также библиотека показывает, где может быть рекурсия и скрывает вложенные элементы, в зависимости от параметра depth.
📕 Документация
#урок
Небольшие списки/словари ещё можно спокойно читать, но когда появляются вложенные коллекции или словари достигают огромных размеров, их восприятие усложняется в разы.
Поэтому мы можем красиво оформить их вывод с помощью pprint. Модуль добавляет отступы, переносит значения на новую строку, если они не умещаются в одну.
Также библиотека показывает, где может быть рекурсия и скрывает вложенные элементы, в зависимости от параметра depth.
📕 Документация
#урок
❤1