Datalytics
9.07K subscribers
218 photos
17 videos
5 files
673 links
Канал для аналитиков данных про Python, карьерное развитие в анализе данных, всякое разное

Автор – @ax_makarov

Отдельный канал про ChatGPT и его практическое применение —  @ai_forge

Чат канала — @pydata_chat

Вакансии — @data_hr
Download Telegram
Наткнулся на метод в pandas, который до сих пор мне был не известен, но очень пригодился, когда захотелось порефакторить свой старый ноутбук, чтобы повысить удобочитаемость. Это метод query. Он дает возможность выбрать строки датафрейма, исходя из определенного условия, но при этом не ссылаясь на сам датафрейм, что позволяет оформлять обработку данных в стиле method chaining.

К примеру, я хочу смерджить два датафрейма, а затем отфильтровать полученный результат по колонке из второго датафрейма.

Можно сделать это двумя отдельными командами:
df = df1.merge(df2,on='key',how='left')
df = df[df['column_from_df2'] == 1]

А вот как можно сделать это с помощью query:
df = df1.merge(df2,on='key',how='left').query("column_from_df2==1")

Также в query можно использовать переменные:
some_value = 1
df = df1.merge(df2,on='key',how='left').query("column_from_df2==@some_value")

Такие дела
❗️В дополнение к этому каналу решил завести чатик @pydata_chat. В нем можно (и нужно) задавать всяческие вопросы на тему применения Python для анализа данных, в особенности для различного рода автоматизации и аналитики. Также рад буду, если участники будут делиться полезными материалами. Как минимум, там есть я, так что вопросы про pandas точно не останутся без ответа🙂
Если вы сомневаетесь ставить ли вам пробелы после оператора &, нужен ли пробел после наименования функции до аргументов, то рекомендации из PEP8 помогут развеять ваши сомнения. Это официальный гайдлайд о том как писать читабельный код. Статья по ссылке освещает важные моменты из PEP8 https://realpython.com/python-pep8/
Не совсем в тему канала, так как изначально ориентируюсь на аудиторию тех, кто использует Python для анализа данных, но без Machine Learning. Но наткнулся на отличную подборку материалов по ML и такой штукой грех не поделиться: https://github.com/demidovakatya/vvedenie-mashinnoe-obuchenie
Datalytics pinned «❗️В дополнение к этому каналу решил завести чатик @pydata_chat. В нем можно (и нужно) задавать всяческие вопросы на тему применения Python для анализа данных, в особенности для различного рода автоматизации и аналитики. Также рад буду, если участники будут…»
Канал выбирается из зимней спячки. И первый пост в новом году будет про Pandas. Когда вы долго и регулярно пользуетесь Pandas, то у вас обычно набирается несколько стандартных кусочков кода (сниппетов), из которых формируется пайплайн обработки данных. Jeff Delaney делится своими сниппетами. Есть и банальности вроде "как прочитать csv", но бывают и интересные, например, о том как сделать разбивку числовых значений на диапазоны, или как загрузить большой csv последовательными маленькими чанками. https://jeffdelaney.me/blog/useful-snippets-in-pandas/
Хорошее руководство по написанию CLI (command-line interfaces) - интерфейсов командной строки. Автор разбирает использование модулей стандартной библиотеки sys.argv и argparse, а затем знакомит нас со сторонней библиотекой click, с помощью которой просто создавать очень мощные CLI, а код при этом выглядит простым и понятным.
https://blog.sicara.com/perfect-python-command-line-interfaces-7d5d4efad6a2?fbclid=IwAR2MEXJyPhYOgGpfwxf8ZeYskQF-8cWjtnEhezCS6OpYRXYf1iVQarpCJwM
Если кто много работает с семантическими ядрами, ключевыми словами или обработкой текста, то может пригодится библиотека rutermextract, которая позволяет извлекать ключевые слова из текста, основываясь на частях речи и частоте употребления.
Курс, включающий 11 уроков по работе с Pandas. Всё очень детально и подробно. Каждый урок представлен в виде отдельного ноутбука. Есть даже урок, освещающий stack и unstack, с которыми у многих возникают проблемы, а чаще всего их просто не используют 🙃https://bitbucket.org/hrojas/learn-pandas
Новый эпизод из серии постов про автоматизацию всяческой рутины с помощью Python. На этот раз речь пойдет о том как эффективно создавать SQL-запросы с помощью шаблонизатора Jinja. Такой подход позволяет делать собственные шаблоны для запросов, что делает скрипты для обработки данных из БД более универсальными, т.к. можно чаще использовать уже готовые скрипты для новых задач. Ссылки на предыдущие части - в конце поста. https://changhsinlee.com/pyderpuffgirls-ep5/
Нет лучшего способа контролировать ход выполнения алгоритма, чем логирование. Можно конечно всё обвешать print'ами😀 но это будет жуть как неудобно, когда ваши скрипты будут разрастаться, всё больше скриптов будет запускаться по расписанию и нужно будет разбираться что вообще происходит. На RealPython есть хороший туториал по логированию, как раз для тех, кто хочет перестать всё обвешивать print и делать как "серьёзные" программисты😎https://realpython.com/python-logging/
Хорошая статья про функции pivot, stack и unstack в Pandas. С pivot, наверняка, многие работали, а вот stack и unstack применяют не так часто. Тем не менее, функции очень полезные для трансформации данных. https://nikgrozev.com/2015/07/01/reshaping-in-pandas-pivot-pivot-table-stack-and-unstack-explained-with-pictures/
Решил в своём блоге начать выкладывать не только гайды в стиле how-to, но и делиться примерами решения задач из области анализа данных, с которыми я сталкиваюсь. Надеюсь, что такие статьи помогут аналитикам узнать новые приёмы для себя, которые они перенесут в свою деятельность. Также я буду крайне рад, если подписчики будут предлагать свои решения.

Первая задача, которую я хочу рассмотреть - это преобразование одной колонки с данными в несколько. Может пригодится, если входные данные кривоваты, как в моём случае. http://datalytics.ru/all/kak-v-pandas-razbit-kolonku-na-neskolko-kolonok/
В продолжение вчерашнего поста. Читатель предложил собственное решение задачи, использующее регулярные выражения. Получилось просто и эффективно 👍🏻Добавил решение в статью: http://datalytics.ru/all/kak-v-pandas-razbit-kolonku-na-neskolko-kolonok/
Крайне советую канал @ohmypy, в котором автор раскрывает возможности стандартной библиотеки Python, о которых вам лучше бы знать. Тут и про кортежи, и про enum, и про Counter из collections, и про сравнение похожести строк с помощью SequenceMatcher. В общем, куча полезных советов, которые помогут сделать код эффективным и опрятным https://t.me/ohmypy
Очередной пост из серии постов
Chang Hsin Lee про автоматизацию рутинных задач с помощью Python. Я лично редко пишу конфиги😐, но хотел бы чаще, т.к. это крайне полезная практика для того, чтобы сделать свои скрипты более универсальными и гибкими. В этом посте автор рассказывает о простейшем примере использования конфига на YAML. Всё по делу👍🏻https://changhsinlee.com/pyderpuffgirls-ep6/
https://digitalgod.be/say_kiss_my_stat Тут Дмитрий Родин из DigitalGod запилил серию практических руководств по сбору аналитических данных. Будет подробно разобран цикл сбора информации с рекламных площадок (Facebook, Yandex.Direct, VK, Google Ads) и статистики (Rockstat, GA). После чего Дмитрий покажет как связать данные с CRM (на примере AmoCRM), а также построить набор базовых аналитических дашбордов. 🚀 Enjoy!
Статья о том как с помощью Pandas сделать сравнение двух Excel-файлов и отобразить историю изменений в новой книге http://pbpython.com/excel-diff-pandas-update.html
Подробный гайд о том как использовать SQLAlchemy в связке с PostgreSQL. Освещаются не только запросы, но и создание таблиц, добавление новых строк в существующие таблицы. https://learndatasci.com/tutorials/using-databases-python-postgres-sqlalchemy-and-alembic/
Forwarded from Интернет-аналитика // Алексей Никушин (Алексей /на Бали / Никушин)
Опять о навыках.

Linkedin проанализировал навыки, которые больше всего хотят видеть работодатели в соискателях. Да, вы верно догадываетесь - аналитическое мышление и имение работать с AI, ML, облаками - в топе. Но самое интересное, что по ссылке доступны курсы, которые Линкедин рекомендует пройти для получения тех или иных навыков. Там прям очень хорошо.

Кроме этого, наткнулся на блог Роджера Хуана. Этот парень настолько классно объясняет подходы к программированию (в том числе на SQL, Python и тд), что первой мыслью после того как я оторвался от блога было пригласить его на Матемаркетинг-2019 с лекцией и мастер-классом. Невероятно ясный ум у него. Судите сами:

Принципы программирования
Решение задач на SQL и Python
И много чего еще в его блоге: https://code-love.com