Forwarded from Этюды для программистов на Python (Дима Федоров)
Перевод статьи Криса Моффитта о сводных таблицах (pivot_table) в pandas 🥳🐍 http://dfedorov.spb.ru/pandas/%D0%A1%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0%20%D0%B2%20pandas.html
Начал собирать список вредных советов при написании pandas-кода. Вот что делать НЕ стоит:
- Выводить датафрейм через функцию
- Использовать параметр
- Удалять колонки через
- Делать однотипные операции с колонками не через цикл, а каждую на своей строке
- Использовать пробелы, кириллицу и спецсимволы (напр. '$') в названиях колонок
- Проходится циклом по строкам датафрейма
- Использовать метод
- Тоже вкусовщина: делать поочередные манипуляции с одной и той же колонкой на отдельных строках (например, вместо
- Использовать вызов методов внутри
- Использовать
- Всегда оставлять MultiIndex (даже если он в колонках и в строках одновременно)
- Использовать
А какие вы посоветуете вредные советы? 😉
- Выводить датафрейм через функцию
print() вместо display()
- Использовать built-in функции Python вместо методов pandas (например, sum(df['column']) вместо df['column'].sum())- Использовать параметр
inplace при вызове методов- Удалять колонки через
del
- Изменять названия колонок через атрибут columns или метод set_axis()
- Вызывать колонки через attribute-like запись (df.genre) вместо dict-like записи (df['genre'])- Делать однотипные операции с колонками не через цикл, а каждую на своей строке
- Использовать пробелы, кириллицу и спецсимволы (напр. '$') в названиях колонок
- Проходится циклом по строкам датафрейма
- Использовать метод
merge() без параметров how и on
- Это вкусовщина: использовать вызов методов из библиотеки, а не из инстанса DataFrame (например, pd.pivot_table() вместо df.pivot_table())- Тоже вкусовщина: делать поочередные манипуляции с одной и той же колонкой на отдельных строках (например, вместо
df['column'].fillna(0).astype(int) сделать на отдельных строках .fillna(0) и .astype(int)
- Часто использовать абсолютную индексацию (например, iloc или выбирать колонки с помощью slice)- Использовать вызов методов внутри
query() (например, df.query('value.notna()'))- Использовать
notnull() и isnull() вместо notna() и isna() (для соблюдения читаемости, учитывая, что существуют методы drop_na() и fillna())- Всегда оставлять MultiIndex (даже если он в колонках и в строках одновременно)
- Использовать
pivot_table() там где можно обойтись groupby()
Многие пункты — это скорее вкусовщина, они почти ни на что не влияют с точки зрения производительности или функциональности, но зато код смотрится опрятнее, а также позволяет при ревью проектов добиться от студентов более однотипного стиля, что снижает когнитивную нагрузку у ревьюеров.А какие вы посоветуете вредные советы? 😉
Forwarded from Этюды для программистов на Python (Дима Федоров)
🔥 Завершил перевод "Подробного руководства по группировке и агрегированию с помощью pandas" от Криса Моффитта (по ссылке Блокнот и Colab): https://vk.cc/bJOuIc
Все переводы доступны на странице: http://dfedorov.spb.ru/pandas/
Все переводы доступны на странице: http://dfedorov.spb.ru/pandas/
Forwarded from Этюды для программистов на Python (Дима Федоров)
Перевел две интересные статьи! 🥳
👉 Обзор типов данных pandas (по ссылке Блокнот и Colab): https://vk.cc/bVq3KU
👉 Очистка данных о валюте с помощью pandas (по ссылке Блокнот и Colab): https://vk.cc/bVq3Ua
Все переводы доступны на странице 🐍 http://dfedorov.spb.ru/pandas/
👉 Обзор типов данных pandas (по ссылке Блокнот и Colab): https://vk.cc/bVq3KU
👉 Очистка данных о валюте с помощью pandas (по ссылке Блокнот и Colab): https://vk.cc/bVq3Ua
Все переводы доступны на странице 🐍 http://dfedorov.spb.ru/pandas/
This media is not supported in your browser
VIEW IN TELEGRAM
А что, если вы не просто умеете стучать по клавиатуре? 😉 Что, если вы понимаете основы баз данных, составления SQL-запросов и умеете разрабатывать ПО? IT-команда Совкомбанка, одного из самых технологичных банков России, если кто вдруг не знал, ищет системного аналитика на проект OpenApi. В команде знают и любят Agile, помогают коллегам развиваться и платят приличные деньги. Никаких дресс-кодов, гибкий график, расширенный ДМС и адекватные тимлиды прилагаются. Локация для вакансии — Саратов. Узнать больше можно здесь: https://bit.ly/3lUeL5p
Эмели Драль и Лена Самуйлова опубликовали на Github легковесную библиотеку для генерации интерактивных отчетов по анализу датасетов для ML моделей. Это полноценный MVP, который сегодня умеет оценивать только Data Drift, а совсем скоро научится делать ещё массу всего полезного, например, ассеcсмент ML модели, а дальше полноценный мониторинг
https://evidentlyai.com/blog/evidently-001-open-source-tool-to-analyze-data-drift
Ссылка на github
https://evidentlyai.com/blog/evidently-001-open-source-tool-to-analyze-data-drift
Ссылка на github
Evidentlyai
Introducing Evidently 0.0.1 Release: Open-Source Tool To Analyze Data Drift
We are excited to announce our first release. You can now use Evidently open-source python package to estimate and explore data drift for machine learning models.
Хорошее русскоязычное руководство по Matplotlib. Отдельно стоит отметить, что это не просто сборник готовых рецептов по построению стандартных диаграмм, а качественный образовательный материал, объясняющий простым языком принципы построения самых разнообразных диаграмм (в том числе комбинированных, например, scatterplot + line plot). Большое внимание уделяется компонентам фигуры (см. Anatomy of a figure), что позволяет гибко настраивать внешний вид визуализации под свои нужды
Когда я только знакомился с анализом данных на Python, то matplotlib я не любил из-за постоянно возникающего ощущения, что для создания хорошей визуализации нужно много танцев с бубном, но по-тихоньку моё отношение к нему менялось. На мой взгляд, обманчивая сложность освоения в первую очередь связана с тем, что самый распространенный способ создания визуализаций в matplotlib — это pyplot API, которое базируется на состояниях (state-based API), а после объектно-ориентированного подхода это немного дезориентирует. Вот хороший ответ на stackoverflow, объясняющий принцип состояний в matplotlib
Итого: секрет успешного освоения matplotlib — понимание компонентов фигуры + принципа state-based API. Зная компоненты становится яснее какие компоненты нужно изменять, а умея работать с состояниями — изменять эти компоненты
https://pyprog.pro/mpl/mpl_short_guide.html
Когда я только знакомился с анализом данных на Python, то matplotlib я не любил из-за постоянно возникающего ощущения, что для создания хорошей визуализации нужно много танцев с бубном, но по-тихоньку моё отношение к нему менялось. На мой взгляд, обманчивая сложность освоения в первую очередь связана с тем, что самый распространенный способ создания визуализаций в matplotlib — это pyplot API, которое базируется на состояниях (state-based API), а после объектно-ориентированного подхода это немного дезориентирует. Вот хороший ответ на stackoverflow, объясняющий принцип состояний в matplotlib
Итого: секрет успешного освоения matplotlib — понимание компонентов фигуры + принципа state-based API. Зная компоненты становится яснее какие компоненты нужно изменять, а умея работать с состояниями — изменять эти компоненты
https://pyprog.pro/mpl/mpl_short_guide.html
MACAUSLOT88 Login Link Alternatif Dan Daftar Terbaru 2025
MACAUSLOT88 Login Link Alternatif Dan Daftar Terbaru 2025 telah kami sediakan supaya kamu bisa ngeslot dengan aman serta mendaptakan promo terbaru kami gratis!
Forwarded from oleg_log (Oleg Kovalov)
# lang: python
def is_unique(l):
return len(set(l)) == len(l)
Forwarded from oleg_log (Oleg Kovalov)
Google создали рейтинг критически важных open-source проектов. В расчёте метрики критичности участвует много разных показателей, свидетельствующих о влиянии и значимости проекта, например, количество контрибьютров и частота коммитов на Github. Отдельного внимания заслуживает документ, рассказывающий о методологии расчёта. На мой взгляд, это интересный пример расчёта аналитической метрики, позволяющей ранжировать данные, опираясь на независимые показатели
На основе данных, представленных Google, оказывается, что наиболее критичный open-source проект среди всех — это
На картинке топ-10 Python-проектов. А ещё можете сами поковырять файлик, в который сведены данные по ссылке выше: 6 списков по 6 языкам (C, C++, Java, JS, Python, Rust)
На основе данных, представленных Google, оказывается, что наиболее критичный open-source проект среди всех — это
Node.js. А среди проектов, написанных на Python — Ansible. Ну и замечу, что всеми нами любимый Pandas находится на 4 строчке среди Python-проектов и на 19 месте среди всех проектовНа картинке топ-10 Python-проектов. А ещё можете сами поковырять файлик, в который сведены данные по ссылке выше: 6 списков по 6 языкам (C, C++, Java, JS, Python, Rust)
Forwarded from addmeto (Grigory Bakunov)
Пятничное: ребята из ClickHouse загрузили в базу кучу статистики про GitHub и сделали кучу готовых запросов, очень много рассказывающих про культуру и опенсорс вцелом. Если вас интересует эта тема - обязательно посмотрите, много неожиданных открытий. Например теперь понятно, какая компания делает самый популярный опенсорс. Или какой контент на гитхабе самый популярный вообще https://gh.clickhouse.tech/explorer/
Для отслеживания самых заметных мероприятий посвященных Big Data, Machine Learning, Data Science, Data Engineering, BI/DWH и другим направлениям, связанным с обработкой данных, рекомендую подписаться на канал "Data online events & Moscow meetups"
Предложить свой ивент можно, написав @NikolayKrupiy, @Ajvol
👉🏻 Подписаться на t.me/data_events
Предложить свой ивент можно, написав @NikolayKrupiy, @Ajvol
👉🏻 Подписаться на t.me/data_events
Telegram
Data Events
Ивенты по Big Data, DE, BI, AI, ML, DS, DA, etc
Спец подканалы:
@AI_meetups
@DE_events
@BI_events
@datathons
@data_career
@devetups
см также @agile_events
#Календарь bit.ly/3oLMmDc
tgstat.ru/channel/@data_events
contacts: @black_titmouse
Спец подканалы:
@AI_meetups
@DE_events
@BI_events
@datathons
@data_career
@devetups
см также @agile_events
#Календарь bit.ly/3oLMmDc
tgstat.ru/channel/@data_events
contacts: @black_titmouse
Статья, в которой приводится несколько простых советов о том как организовывать эффективные и надежные пайплайны обработки данных. Если вкратце, то вот они:
- Разделяйте пайплайн на изолированные и тестируемые маленькие шаги;
- Старайтесь делать шаги атомарными (обработка данных как атомарные транзакции)
- Запущенный этап ETL должен при повторном запуске выдавать тот же результат на идентичных входных данных (правило идемпотентности)
- Избыточность (храните raw-data так долго как это представляется возможным)
https://habr.com/en/company/badoo/blog/531912/
- Разделяйте пайплайн на изолированные и тестируемые маленькие шаги;
- Старайтесь делать шаги атомарными (обработка данных как атомарные транзакции)
- Запущенный этап ETL должен при повторном запуске выдавать тот же результат на идентичных входных данных (правило идемпотентности)
- Избыточность (храните raw-data так долго как это представляется возможным)
https://habr.com/en/company/badoo/blog/531912/
Habr
The Rules for Data Processing Pipeline Builders
"Come, let us make bricks, and burn them thoroughly." – legendary buildersYou may have noticed by 2020 that data is eating the world. And whenever any r...
Forwarded from Этюды для программистов на Python (Дима Федоров)
У меня две новости и обе хорошие 🥳
1) Добавил несколько кейсов и упражнений по Pandas и NumPy (можно прокачать скиллы по анализу товаров): https://dfedorov.spb.ru/pandas/
2) Завершил перевод статьи "Типичные задачи Excel, продемонстрированные в pandas": https://dfedorov.spb.ru/pandas/%D0%A2%D0%B8%D0%BF%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8%20Excel,%20%D0%BF%D1%80%D0%BE%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%20pandas.html
1) Добавил несколько кейсов и упражнений по Pandas и NumPy (можно прокачать скиллы по анализу товаров): https://dfedorov.spb.ru/pandas/
2) Завершил перевод статьи "Типичные задачи Excel, продемонстрированные в pandas": https://dfedorov.spb.ru/pandas/%D0%A2%D0%B8%D0%BF%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8%20Excel,%20%D0%BF%D1%80%D0%BE%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%20pandas.html
Forwarded from LEFT JOIN
В рекламном кабинете ВКонтакте при публикации объявления есть функция автоматического подбора целевой аудитории, но можно пойти и другим путём –– загрузить файл с идентификаторами конкретных людей, которым нужно показать рекламу. В новом материале рассказываем, как написать парсер участников сообществ конкурентов для VK API и загрузить полученную аудиторию в рекламный кабинет.
Мы попробовали запускать объявления обоими способами: бонусом в конце материала сравниваем результаты и отвечаем на вопрос, какой метод подбора аудитории оказался выгоднее.
Мы попробовали запускать объявления обоими способами: бонусом в конце материала сравниваем результаты и отвечаем на вопрос, какой метод подбора аудитории оказался выгоднее.
Forwarded from Я у мамы аналитик (Stas Valuev)
Пропусти я такую новость - плакал бы потом горькими слезами.
Ребятки запилили Jupiter Notebook в Excel'ке. Действительно, зачем выбирать между Python и аналитикой в уютных таблицах (не будем никому рассказывать, что есть еще BI), давайте "замочим" VBA и совместим все в один инструмент (а что, а вдруг).
Если серьёзно, это, конечно, на грани добра и зла, но может стать подспорьем для тех, кто только начинает переходить на сторону питона. Можно даже придумать пару боевых кейсов, когда может потребоваться экспорт графиков из ноутбука на лист Excel - для редких визуализаций или прогнозирования, к примеру (если вкусы весьма специфичны).
🔗 Ссылка
Ребятки запилили Jupiter Notebook в Excel'ке. Действительно, зачем выбирать между Python и аналитикой в уютных таблицах (не будем никому рассказывать, что есть еще BI), давайте "замочим" VBA и совместим все в один инструмент (а что, а вдруг).
Если серьёзно, это, конечно, на грани добра и зла, но может стать подспорьем для тех, кто только начинает переходить на сторону питона. Можно даже придумать пару боевых кейсов, когда может потребоваться экспорт графиков из ноутбука на лист Excel - для редких визуализаций или прогнозирования, к примеру (если вкусы весьма специфичны).
🔗 Ссылка
PyXLL
Python Jupyter Notebooks in Excel
Use Python Jupyter Notebooks right in Excel. Python Excel integration with Jupyter is a massive leap forwards for data analysis, modelling and dashboards.
Большая подборка материалов, посвященных машинному обучению, анализу данных и применению алгоритмов ML в бизнесе
https://habr.com/ru/article/533242/
https://habr.com/ru/article/533242/
Хабр
Библиотека данных: коллекция интересных хабрапостов про Data Science
С каждым годом сфера Data Science обрастает новыми методиками, терминами и направлениями. К счастью, у нас есть почти готовая энциклопедия по этой теме, которую год за годом кропотливо наполняло сообщество Хабра. Есть, правда, проблема: материалы сообщества…
Зарелизился JupyterLab 3.0. Из нового: встроенный визуальный дебаггер, виджет для навигации по блокноту (table of contents), улучшенная адаптивная верстка, установка расширений в Jupyter без ребилда. Полный changelog тут
https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb
https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb
Medium
JupyterLab 3.0 is released!
The 3.0 release of JupyterLab brings many new features to users and substantial improvements to the extension distribution system.
Forwarded from Этюды для программистов на Python (Дима Федоров)
Подготовил перевод двух интересных статей для любителей покопаться в pandas 🐼
👉 Объяснение кросс-таблицы (crosstab) в Pandas
👉 Разделение (биннинг, дискретизация, балансировка) данных с помощью qcut и cut в Pandas
👉 Объяснение кросс-таблицы (crosstab) в Pandas
👉 Разделение (биннинг, дискретизация, балансировка) данных с помощью qcut и cut в Pandas
Ребята из EXPF подготовили отличный перевод статьи про методику проведения экспериментов Switchback. Эта техника тестирования полезна в условиях сильного влияния наблюдений (например, таксистов, курьеров или потребителей) друг на друга — эту проблему еще называют как “социальный эффект” или Network Effect.
В Ситимобил уже успешно внедряется свитчбэк-тестирование. В конце статьи вы можете прочитать комментарий об их опыте и впечатления от использования свитчбэка из первых уст.
Switchback-тестирование. Как бороться с социальными эффектами в A/B-тестах
16 марта у EXPF стартует интенсив «Математическая статистика и A/B-тесты», где будут на практике рассмотрены основные методологические и математические проблемы A/B тестирования. Этот интенсив будет полезен всем, кто хочет начать разбираться в теме и начать проводить A/B тесты так, чтобы их результатам можно было доверять.
В Ситимобил уже успешно внедряется свитчбэк-тестирование. В конце статьи вы можете прочитать комментарий об их опыте и впечатления от использования свитчбэка из первых уст.
Switchback-тестирование. Как бороться с социальными эффектами в A/B-тестах
16 марта у EXPF стартует интенсив «Математическая статистика и A/B-тесты», где будут на практике рассмотрены основные методологические и математические проблемы A/B тестирования. Этот интенсив будет полезен всем, кто хочет начать разбираться в теме и начать проводить A/B тесты так, чтобы их результатам можно было доверять.
Forwarded from Этюды для программистов на Python (Дима Федоров)
По многочисленным просьбам подготовил переводы про визуализацию и обработку данных для ML 🐍
👉 Эффективное использование Matplotlib
👉 Руководство по кодированию категориальных значений в Python
Приятного чтения! 🐼
PS. остальные переводы и кейсы по ссылке ⚡️
👉 Эффективное использование Matplotlib
👉 Руководство по кодированию категориальных значений в Python
Приятного чтения! 🐼
PS. остальные переводы и кейсы по ссылке ⚡️