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

Автор – @ax_makarov

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

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

Вакансии — @data_hr
Download Telegram
Ноутбук с мастер-класса Александра Швеца из DigitalGod на конференции "Матемаркетинг-2018". Александр разбирает использование Logs API Яндекс.Метрики для анализа длины цепочек посещений, а также показывает интересный пример динамической атрибуции на основе данных того же Logs API, загнанных в Clickhouse https://github.com/ashwets/conferences/blob/master/matemarketing_2018.ipynb
Лично я не очень люблю Matplotlib из-за достаточно сложного синтаксиса. Разбираться в его документации - то ещё удовольствие, поэтому чаще приходится лезть в Stackoverflow и искать среди ответов что-то подходящее. Но нужно признать должное: если нужен комбайн для сложных визуализаций, то вряд ли найдется что-то лучше Matplotlib среди Python-библиотек. Я бы сравнил его с d3.js на JavaScript по уровню кастомизируемости. Статья по ссылке это подтверждает, там 50 мощных визуализаций с примерами кода https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/
Статья о том как с помощью pandas можно разными способами выбирать сэмплы из данных. Может быть полезным, если хотите делать сэмплирование с использованием groupby (чтобы выбрать по N строк из каждой группы), а также делать выборки с фиксированным "псевдо-случайным" числом, чтобы сэмплированная выборка всегда получалась одинаковая (полезно, когда нужно добиться воспроизводимости исследований). https://www.marsja.se/pandas-sample-randomly-select-rows/
Есть много странных рейтингов. Нашел вот рейтинг популярности систем управления базами данных. Судя по нему, PostgreSQL занимает 4е место и показывает хорошие темпы роста. К этому бесполезному факту выкладываю ссылку на отличную статью про то как вытаскивать данные из PostgreSQL в Питоне с помощью psycopg2 https://khashtamov.com/ru/postgresql-python-psycopg2/
Forwarded from Vlad Flaks
Выложили на Github наши скрипты для импорта данных в Google BigQuery из mysql, ftp, https, intercom: https://www.owox.com/c/github-bigquery-integrations.
Все написано на Python для Google Cloud Functions. То есть отдельный сервер для запуска не нужен и проблем с ресурсами как у App Script нет. Инструкции на русском языке, разберется даже маркетолог 🙂
https://changhsinlee.com/pyderpuffgirls-ep3/ Третья часть серии туториалов про изучение Python для аналитиков. Про то, как запускать свои скрипты по расписанию и наслаждаться результатом, попивая кофе и закусывая маффином. Автор показывает один из самых простых способов планирования задач в Python - модуль schedule. На практике, к такому способу прибегают редко, т.к. нужно постоянно держать запущенным питоновский скрипт. Так что решение из статьи по первому времени сгодится, а потом я бы рекомендовал использовать cron или Airflow. В конце статьи - ссылки на две предыдущих части
https://www.dataschool.io/future-of-pandas/
Статья про будущее библиотеки Pandas. Автор основывается на докладе одного из ключевых разработчиков Pandas на митапе PyData 2018 (кстати, рекомендую канал PyData на YouTube, где размещается куча полезного контента). Из интересного: хотят сделать почти все методы такими, чтобы была поддержка chaining, когда весь процесс обработки данных можно описать однострочной длинной последовательностью вызываемых друг за другом методов; уберут из методов поддержку параметра inplace; Apache Arrow будет бэкендом для Pandas, что повлияет на скорость обработки больших датасетов; появятся кастомные типы, например int с поддержкой nan 🎉 (сейчас только float из численных типов поддерживает nan); уберут поддержку обращения к строкам dataframe через ix. В общем, светлое будущее. Версия 0.25, в которой все это будет, запланирована на начало 2019. А следом из 0.25 сделают мажорную версию 1.0, убрав из 0.25 все устаревшие (deprecated) методы.
Forwarded from BigQuery Insights
​​В сети появился скрипт для ежедневного экспорта данных Amplitude в BigQuery через Google Cloud Storage

via @BigQuery
https://tqdm.github.io/
Иногда всяческие приятные мелочи сильно упрощают жизнь. Например, tqdm - очень минималистичная библиотека, единственная функция которой - отображать красивый информативный прогресс бар
Написал в свой блог короткую статейку о том как через Python загружать или получать данные из BigQuery сразу в пандасовский датафрейм. Также немного рассматривается как с помощью нативной питоновской библиотеки bigquery можно управлять датасетами и таблицами. http://datalytics.ru/all/kak-ispolzovat-google-bigquery-s-pomoschyu-python/
https://changhsinlee.com/pyderpuffgirls-ep4/ Новая часть серии постов про автоматизацию всяческой рутины на Python. В этот раз про то как отправлять email, да не простые, а с аттачментами и эмоджи! В конце статьи - ссылки на предыдущие части
Наткнулся на метод в 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, которая позволяет извлекать ключевые слова из текста, основываясь на частях речи и частоте употребления.