Как вычислить среднее значение, медиану, моду, дисперсию, стандартное отклонение и различные квантильные диапазоны в Pandas?
✔️ DataFrame.mean(): среднее
✔️ DataFrame.median(): медиана
✔️ DataFrame.mode(): мода
✔️ DataFrame.var(): дисперсия
✔️ DataFrame.std(): стандартное отклонение
✔️ DataFrame.quantile(): для расчета квантильного диапазона, используя значение диапазона в качестве параметра
Библиотека собеса по Python
✔️ DataFrame.median(): медиана
✔️ DataFrame.mode(): мода
✔️ DataFrame.var(): дисперсия
✔️ DataFrame.std(): стандартное отклонение
✔️ DataFrame.quantile(): для расчета квантильного диапазона, используя значение диапазона в качестве параметра
Библиотека собеса по Python
👍4
Что такое подгенератор (subgenerator)?
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Библиотека собеса по Python
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Библиотека собеса по Python
👍5❤1
Почему @dataclass(eq=True) без frozen по умолчанию не хэшируем?
Потому что при наличии __eq__ и изменяемости нарушается инвариант хэша; Python выставляет __hash__ = None. Нужно либо frozen=True (тогда хэш генерится), либо явно определить __hash__/использовать unsafe_hash=True на свой риск.
Библиотека собеса по Python
Библиотека собеса по Python
👍2
⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
Что такое категориальные данные и как они представлены в Pandas?
Категориальные данные — это набор предопределенных значений данных в некоторых категориях. Обычно они имеют ограниченный и фиксированный диапазон возможных значений и могут быть как числовыми, так и текстовыми по своей природе. Несколько примеров категориальных данных — пол, образовательная квалификация, группа крови, принадлежность к стране, время наблюдения и т. д. В Pandas категориальные данные часто представлены типом данных Object.
Библиотека собеса по Python
Библиотека собеса по Python
👍1
✍️ Как функционирует метод __new__() в Python?
Метод __new__() отвечает за создание нового экземпляра класса, выделяя для него память. Он вызывается перед методом __init__(), который занимается инициализацией уже созданного экземпляра. Это особенно важно при работе с неизменяемыми типами, такими как str или int, а также в ситуациях, когда необходимо контролировать процесс создания объекта, например, при использовании паттерна Singleton.
Библиотека собеса по Python
Библиотека собеса по Python
👍1
Чем «data»-дескриптор отличается от «non-data», как это влияет на порядок поиска атрибута, и почему @property — это тоже дескриптор?
В Python любой объект с __get__ — дескриптор.
Non-data дескриптор: имеет только __get__. Проигрывает записи в obj.__dict__. @property — именно non-data дескриптор.
Data дескриптор: имеет __set__ и/или __delete__. Имеет приоритет над obj.__dict__, блокируя прямую подмену.
Порядок разрешения атрибутов (__getattribute__): data-descriptor → obj.__dict__ → non-data descriptor/атрибут класса → __getattr__.
Пишите свой data-дескриптор для переиспользуемой логики: валидация, типизация, lazy/кэш, связка с внешними ресурсами.
Библиотека собеса по Python
Non-data дескриптор: имеет только __get__. Проигрывает записи в obj.__dict__.
Data дескриптор: имеет __set__ и/или __delete__. Имеет приоритет над obj.__dict__, блокируя прямую подмену.
Порядок разрешения атрибутов (__getattribute__): data-descriptor → obj.__dict__ → non-data descriptor/атрибут класса → __getattr__.
Пишите свой data-дескриптор для переиспользуемой логики: валидация, типизация, lazy/кэш, связка с внешними ресурсами.
Библиотека собеса по Python
👍1
Что такое GIL в CPython, как он влияет на многопоточность, и какие практики выбирать для CPU-bound и I/O-bound задач?
GIL — глобальная блокировка интерпретатора в CPython: одновременно байткод исполняет только один поток.
CPU-bound: потоки не масштабируются по ядрам → берите процессы (multiprocessing/процесс-пулы), векторизацию/библиотеки, которые освобождают GIL (напр. NumPy), нативные расширения или вынос в отдельные сервисы.
I/O-bound: потоки подходят (блокирующие I/O обычно отпускают GIL); альтернативно — asyncio с неблокирующими вызовами.
Важно: asyncio не ускоряет CPU-bound; смешивайте — тяжёлое CPU выносите в процессы/С, блокирующее I/O — в пул потоков; измеряйте и следите, чтобы в async-код не просачивались блокировки.
Имплементации: поведение касается CPython; в других реализациях Python механизм отличается.
Библиотека собеса по Python
CPU-bound: потоки не масштабируются по ядрам → берите процессы (multiprocessing/процесс-пулы), векторизацию/библиотеки, которые освобождают GIL (напр. NumPy), нативные расширения или вынос в отдельные сервисы.
I/O-bound: потоки подходят (блокирующие I/O обычно отпускают GIL); альтернативно — asyncio с неблокирующими вызовами.
Важно: asyncio не ускоряет CPU-bound; смешивайте — тяжёлое CPU выносите в процессы/С, блокирующее I/O — в пул потоков; измеряйте и следите, чтобы в async-код не просачивались блокировки.
Имплементации: поведение касается CPython; в других реализациях Python механизм отличается.
Библиотека собеса по Python
👍5
Изучаете Python и уже чувствуете себя уверенно? Хотите проверить навыки и знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»!
Курс состоит из практики чуть менее чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)
В общем, прокачаете навыки и наверняка узнаете что-то новое.
Регистрируйтесь: https://epic.st/G-GOW?erid=2Vtzqw1A9t1
🎁 А ещё всех участников ждёт бонус: откроем доступ к конференции по нейросетям после первого урока. Узнаете, как использовать ИИ в работе и жизни.
Курс состоит из практики чуть менее чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)
В общем, прокачаете навыки и наверняка узнаете что-то новое.
Регистрируйтесь: https://epic.st/G-GOW?erid=2Vtzqw1A9t1
🎁 А ещё всех участников ждёт бонус: откроем доступ к конференции по нейросетям после первого урока. Узнаете, как использовать ИИ в работе и жизни.
👍1
Какой метод использовался до оператора in для проверки наличия ключа в словаре?
До появления оператора in в Python, чтобы проверить, содержит ли словарь определенный ключ, использовался метод словаря has_key().
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим.
Библиотека собеса по Python
Этот метод принимал в качестве аргумента проверяемый ключ и возвращал логическое значение - True, если ключ присутствовал в словаре, и False - если нет.
В Python 2.5 появился более понятный и краткий оператор in, поэтому сейчас рекомендуется использовать именно его, а has_key() считается устаревшим.
Библиотека собеса по Python
👍8
💡 Задача с собесеседования
Недавно в одном известном всем банке кандидату была предложена задача:
Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах.
🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли.
🔍 На курсе вас ждет:
— линейная алгебра, анализ, теория вероятности и статистика;
— градиенты, матрицы и экстремумы функций;
— математики и алгоритмы машинного обучения;
— много практики.
📅 Старт: 6 ноября
⏰ Формат: 10 вебинаров и 3 практических проекта
💬 Поддержка: менторы + Telegram-чат
💰 Стоимость: 37 000 ₽ (есть рассрочка)
🔗 Узнать больше и записаться
Недавно в одном известном всем банке кандидату была предложена задача:
Есть клиент, который за месяц делает 1000 транзакций.
Нужно посчитать вероятность того, что среди них окажется хотя бы одна дублирующаяся сумма, если каждая сумма округляется до 2 знаков после запятой.
Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах.
🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли.
🔍 На курсе вас ждет:
— линейная алгебра, анализ, теория вероятности и статистика;
— градиенты, матрицы и экстремумы функций;
— математики и алгоритмы машинного обучения;
— много практики.
📅 Старт: 6 ноября
⏰ Формат: 10 вебинаров и 3 практических проекта
💬 Поддержка: менторы + Telegram-чат
💰 Стоимость: 37 000 ₽ (есть рассрочка)
🔗 Узнать больше и записаться
Каковы способы настройки функциональности интерфейса администратора Django?
Существует несколько способов настройки функциональности интерфейса администратора Django. Вы можете использовать форму добавления/изменения, которая автоматически генерируется Django, вы можете добавлять модули JavaScript с помощью параметра js. Этот параметр в основном представляет собой список URL-адресов, указывающих на модули JavaScript, которые должны быть включены в ваш проект в теге <script>. Вы также можете написать представления для администратора, если хотите. Хотите глубже изучить основы Python? Добро пожаловать на курс: https://proglib.academy/python
Библиотека собеса по Python
Библиотека собеса по Python
😵💫 Устал от бесконечной подготовки к собесам?
Тогда залетай к нам, есть задачка попроще.
Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть.
📱 Перейти в бота
Тогда залетай к нам, есть задачка попроще.
Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть.
📱 Перейти в бота
❤1👍1
Как вы спроектируете высоконагруженный API на Django/DRF с P99 < 50 мс при 10k rps, строгой согласованностью кэша при записи и нулевым простоем при деплоях?
ASGI-стек (Uvicorn+Gunicorn), асинхронные вьюхи только для I/O; БД: pgbouncer, целевые индексы/covering, устранение N+1 (select_related/prefetch_related), атомарные операции через F() и при необходимости SELECT … FOR UPDATE, критичные места — raw SQL; чтение через реплики с роутерами, для ускорения — CQRS: read-модель (материализованные представления/Redis). Кэш как cache-aside в Redis с версионированием ключей; инвалидация не сигналами, а outbox-паттерном: запись события в таблицу → Celery-консюмер инвалидирует/перестраивает кэш; для публичных GET — ETag/Last-Modified и CDN. Миграции без простоя по схеме expand→migrate data→contract, индексы CONCURRENTLY, деплой blue/green; задачи — Celery/RQ, идемпотентность через ключи, ретраи с backoff. Наблюдаемость: APM, slow query log, профилинг N+1, метрики p95/p99; безопасность: строгие SECURE_*, CSRF, rate limiting в DRF/Reverse-proxy; логи — stdout.
Библиотека собеса по Python
Библиотека собеса по Python
👍5🥱1
🔥 Новый курс «Математика для Data Science»
Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀
🧠 Эксперты-спикеры на курсе:
▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;
▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);
▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ.
👉🏻 Не упустите шанс улучшить свои навыки
Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀
🧠 Эксперты-спикеры на курсе:
▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;
▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);
▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ.
👉🏻 Не упустите шанс улучшить свои навыки
👍1
Какие существуют различные стили наследования моделей в Django?
Django поддерживает 3 типа наследования. Это абстрактные базовые классы, многотабличное наследование и прокси-модели.
Библиотека собеса по Python
Библиотека собеса по Python
👍4
💥 Математика, которая не «для галочки»
Разработали курс «Математика для Data Science» специально для вас — чтобы закрыть все пробелы в математике и уверенно пройти любое собеседование на позицию Data Scientist.
🧠 За 2 месяца ты разберёшь:
➡️ линейную алгебру — работа с векторами и матрицами, их разложения, собственные значения и обратные матрицы;
➡️ мат. анализ — пределы, производные, экстремумы, применение градиентного спуска;
➡️ теорию вероятностей и статистику — случайные величины, распределения, статистические гипотезы, A/B-тесты;
➡️ математику в ML и аналитике — как использовать всё это в алгоритмах, логистической регрессии, методах ближайших соседей, байесовских подходах.
📚 Формат: 10 вебинаров, 3 практических проекта, тесты и чат с менторами.
🔥 При оплате до 19 октября получите курс по базовой математике в подарок.
🔗 Записаться на курс
Разработали курс «Математика для Data Science» специально для вас — чтобы закрыть все пробелы в математике и уверенно пройти любое собеседование на позицию Data Scientist.
🧠 За 2 месяца ты разберёшь:
➡️ линейную алгебру — работа с векторами и матрицами, их разложения, собственные значения и обратные матрицы;
➡️ мат. анализ — пределы, производные, экстремумы, применение градиентного спуска;
➡️ теорию вероятностей и статистику — случайные величины, распределения, статистические гипотезы, A/B-тесты;
➡️ математику в ML и аналитике — как использовать всё это в алгоритмах, логистической регрессии, методах ближайших соседей, байесовских подходах.
📚 Формат: 10 вебинаров, 3 практических проекта, тесты и чат с менторами.
🔥 При оплате до 19 октября получите курс по базовой математике в подарок.
🔗 Записаться на курс
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
Как и для чего используется %s?
%s — это Спецификатор формата и он используется для форматирования строк.
Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению.
%s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк.
Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками.
Библиотека собеса по Python
Он позволяет вставлять значения других типов (числа, объекты и т. д.) в строковые выражения, автоматически преобразуя их к строковому представлению.
%s заменяется на строковое представление переданного значения в процессе форматирования. Это удобный способ интерполяции строк.
Помимо простой интерполяции, %s полезен для оформления вывода данных в консоль, логгирования, составления SQL-запросов с подстановкой значений и других задач работы со строками.
Библиотека собеса по Python