Datalytics – Telegram
Datalytics
9.05K subscribers
220 photos
17 videos
5 files
675 links
Канал для аналитиков данных про Python, карьерное развитие в анализе данных, всякое разное

Автор – @ax_makarov

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

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

Вакансии — @data_hr
Download Telegram
Пожалуй, обращение к элементам датафрейма с помощью loc и iloc - это одна из тех тем, которая становится камнем преткновения для людей, начинающих изучать pandas. На самом деле, всё не так сложно. Erik Marsja в своей статье подробно освещает использование loc и iloc.

https://www.marsja.se/how-to-use-iloc-and-loc-for-indexing-and-slicing-pandas-dataframes/
Проверка гипотез с помощью статистических критериев ничего не сообщает о величине различия. В ходе теста устанавливается p-value, что говорит о уровне статистической значимости. А для того чтобы выяснить величину какого-то явления или уровень различия между величинами используют методы оценки величины эффекта (effect size). Величина эффекта может считаться по-разному в зависимости от типа гипотезы, которую мы проверяем. Мер для оценки величины эффекта очень много, чтобы в этом убедиться можно посмотреть статью на википедии. Например, для проверки гипотезы равенства двух средних можно использовать метрику d-Коэна. В статье представлен доступный разбор того что же такое effect size и несколько примеров его расчета с кодом.

https://machinelearningmastery.com/effect-size-measures-in-python/
👍1
WolframMathematica официально представили клиентскую библиотеку Wolfram для Python. Библиотека имеет полностью открытый исходный код.

Клиентская библиотека Wolfram позволяет легко интегрировать большую коллекцию алгоритмов языка Wolfram Language, а также базу знаний Wolfram непосредственно в любой уже существующий код Python.

В статье есть классный пример использования встроенного алгоритма обнаружения лиц в пару строчек кода.

https://habr.com/ru/company/wolfram/blog/471814/
Лёша Куличевский делится замечательными советами о том как стать аналитиком
Игорь спрашивает: «Как сформировать путь из маркетолога в аналитика? Какие навыки нужно приобрести?»

Вот алгоритм работы аналитика:

Всё начинается с того, что какой-то заказчик приходит с задачей. Обычно эта задача сформулирована в мире заказчика, например «разобраться, почему у нас не растут продажи» или «мы запустили новую фичу, хотим понять, работает ли она».

Задача аналитика: разобраться в задаче, декомпозировать ее на атомарные подзадачи, решение которых поможет ответить на основной вопрос.
Например «разобраться, почему у нас не растут продажи» можно разобрать так:
* В прошлом году выручка компании расла каждый месяц (дальше значения выручки)
* В этом году рост остановился на значении…
* Как компания зарабатывает деньги? Какие продукты продает? Кому?
* Как изменилось количество новых покупателей?
* Как изменилось количество вернувшихся покупателей?
* Как изменился средний чек?
* Как изменился состав покупательской корзины?
* Как изменились цены на товары?
* Как изменилась посещаемость сайта?

И так далее. Аналитику нужно выделить из задачи целевые метрики и разобраться, из чего они состоят. Я называю этот подход составлением «Пирамиды метрик». В консалтинге его называют составлением «Дерева KPI». Я когда-то описывал этот процесс в блоге: https://blog.ohmystats.com/printsip-piramidy-kak-planirovat-reklamnyie-aktivnosti/
После того, как аналитик декомпозировал задачу, надо где-то достать данные для ее решения.
Данные могут лежать, например, в какой-нибудь базе. Чтобы их оттуда достать, нужно уметь писать запросы на SQL.
Еще они могут лежать где-то в интернете и, чтобы их получить, нужно написать запрос к API или распарсить какой-то сайт. Для этого полезно уметь писать несложные программы на каком-нибудь языке программирования. Я, например, пишу на R ил Python.
Когда данные получены, их нужно проанализировать, чтобы найти ответ на вопрос. Если аналитик хорошо декомпозировал задачу на первом шаге, весь анализ представляет собой последовательность простых математических операций: тут сложить, там поделить.

Как компания зарабатывает деньги? Какие продукты продает? Кому?
— продаем холодильники через интернет по всей России

Как изменилось количество новых покупателей?
— снизилось на 30%

Почему? Как изменилась посещаемость сайта?
— осталась на том же уровне, зато снизилась конверсия из посетителей в покупателей

Почему она снизилась? На каком этапе воронки?
— Конверсия просела на этапе оформления заказа

Когда она снизилась? Что произошло в этот день?
— 5 января. Мы в этот день убрали бесплатную доставкую
Последний этап в пработе аналитика — объяснить результаты анализа заказчику.
Для этого нужно логично и понятно объяснить ваш ход мыслей и подкрепить их иллюстрациями. Иногда задача — не столько ответить на один вопрос, сколько создать для заказчика инструмент, с помощью которого он сам бы на него отвечал в будущем. Это может быть дешборд, модель или какой-нибудь еще дата-продукт.

Создавать такие дата-продукты удобно теми же R и Python.
Итого, хороший аналитик умеет:
1. Декомпозировать задачу
2. Находить, доставать и готовить нужные для ее решения данные
3. Анализировать эти данные
4. Понятно объяснять результаты анализа заказчику

Первый пункт — самый важный.
Кстати, подписывайтесь на канал Лёши Куличевского. Он в аналитике съел слона и плохого не посоветует.

https://news.1rj.ru/str/kulichevskiy
При работе с анализом непрерывных числовых данных может быть полезным разбить эти данные на диапазоны (иначе называемые корзинками или bins). В статье подробно рассказывается о том как разбить данные на диапазоны с помощью функций cut и qcut в pandas.

https://pbpython.com/pandas-qcut-cut.html
Статья из блога DataQuest о том как анализировать данные опросов с помощью Python. Полезно будет новичкам в качестве простого примера разведочного анализа данных

https://www.dataquest.io/blog/how-to-analyze-survey-data-python-beginner/
Forwarded from BigQuery Insights
​​Новый Python скрипт - позволяет извлекать данные об активности пользователя из Google Analytics и импортировать их в таблицу Google BigQuery.

via @BigQuery
Если вы в pandas используете apply на большом объеме данных, то может быть полезным прикрутить шкалу прогресса выполнения функции. В статье рассказывается о том как это сделать с применением библиотеки tqdm

https://towardsdatascience.com/progress-bars-in-python-and-pandas-f81954d33bae
7 советов для повышения эффективности анализа данных в Python: pandas-profiling для быстрого обзора данных, magic-команды, горячие клавиши, выделение блоков markdown цветом и многое другое

https://towardsdatascience.com/7-things-to-quickly-improve-your-data-analysis-in-python-3d434243da7
Подробный гайд по работе с временными рядами в Python. В нем даются примеры визуализации рядов, декомпозиции на трендовую и сезонную компоненту, применение статистических критериев для проверки гипотез, например, тест под забавным для постсоветского пространства названием KPSS, который позволяет проверить стационарность ряда.

https://www.machinelearningplus.com/time-series/time-series-analysis-python/
Наткнулся на интересную библиотеку для статистики - Pingouin. Имеет ряд преимуществ по сравнению с scipy.stats, например, t-test по умолчанию выдает не только T-value и p-value, но и доверительные интервалы, статистическую мощность и размер эффекта. Понятное дело, что всё это можно сделать и в scipy, но Pingouin делает это одной функцией, что крайне удобно. Вот ноутбук с кратким обзором того, что умеет Pingouin: https://nbviewer.jupyter.org/github/raphaelvallat/pingouin/blob/master/notebooks/00_QuickStart.ipynb

https://github.com/raphaelvallat/pingouin
Книга Nicolas P. Rougier "From Python to Numpy" рассказывает о том как с помощью NumPy существенно улучшить эффективность алгоритмов анализа данных. Автор специализируется в применении Python к научным исследованиям и визуализациям, поэтому книга изобилует сложными, но очень крутыми примерами.

https://www.labri.fr/perso/nrougier/from-python-to-numpy/