🔥 3 полезных функции для работы с Pandas
Pandas - сильнейший фреймворк для анализа данных в Python. И сегодня мы вместе с Анастасией из PyMagic (наверняка вы видели ее видео про Data Science на ютуб-канале miracl6) мы сделали небольшую подборку полезных функций Pandas:
✓ stack
✓ set\_option
✓ insert
Эти, казалось бы, несложные функции могут существенно облегчить вам ежедневную работу с Pandas 😉
Кстати, если у вас есть какие-то личные рекомендасьоны - поделитесь в комментариях)) Может быть вы облегчите кому-то жизнь 😄
Pandas - сильнейший фреймворк для анализа данных в Python. И сегодня мы вместе с Анастасией из PyMagic (наверняка вы видели ее видео про Data Science на ютуб-канале miracl6) мы сделали небольшую подборку полезных функций Pandas:
✓ stack
✓ set\_option
✓ insert
Эти, казалось бы, несложные функции могут существенно облегчить вам ежедневную работу с Pandas 😉
Кстати, если у вас есть какие-то личные рекомендасьоны - поделитесь в комментариях)) Может быть вы облегчите кому-то жизнь 😄
🔥15👍10
🔥 5 хитрых вопросов для самопроверки на Python
Сегодня вместе с ребятами из Хекслета сделали интересную подборку вопросов для проверки своих знаний по Python.
Некоторые вопросы здесь довольно хитрые, но основную массу (например, про MRO или аргументы по умолчанию) должен знать каждый. А вы знаете? 😉
Сегодня вместе с ребятами из Хекслета сделали интересную подборку вопросов для проверки своих знаний по Python.
Некоторые вопросы здесь довольно хитрые, но основную массу (например, про MRO или аргументы по умолчанию) должен знать каждый. А вы знаете? 😉
👍12🔥3
Одна мелочь убивает целый SQL-запрос
Проверяя код участников нашего Симулятора по SQL, мы постоянно видим одни и те же «мелочи», из-за которых неправильно работает целый SQL-запрос. А значит аналитика проведена неправильно, компания в убытке. Давайте посмотрим несколько таких примеров - все на примере PostgreSQL.
1. COALESCE + конкатенация
В задании нужно вывести фамилию и имя пользователя, если они есть. Если нет - вывести «Дорогой друг». Большинство решает так:
Чтобы избежать такой ситуации, делайте конкатенацию с помощью
2. Фильтрация даты
Типичная задача - найти всех пользователей, которые пришли в заданный период времени. Дата-время регистрации при этом представлена полем
Большинство решают задачу так:
А если посмотреть глазами на результат, то станет очевидно, что регистрации от 2 апреля были проигнорированы. Это связано с тем, что при сравнении идет внутреннее преобразование к
Чтобы этого избежать, можно выполнить явное преобразование
3. Заполнение пробелами в TO_CHAR
Знаете, какой будет результат выполнения вот этого запроса?
- - - - -
🔗 Освойте еще больше «фишечек» в нашем Симуляторе: ссылка
Проверяя код участников нашего Симулятора по SQL, мы постоянно видим одни и те же «мелочи», из-за которых неправильно работает целый SQL-запрос. А значит аналитика проведена неправильно, компания в убытке. Давайте посмотрим несколько таких примеров - все на примере PostgreSQL.
1. COALESCE + конкатенация
В задании нужно вывести фамилию и имя пользователя, если они есть. Если нет - вывести «Дорогой друг». Большинство решает так:
select coalesce(Но вместо ожидаемого результата мы видим либо пустую строку, либо результат конкатенации. А все потому что
concat(first_name, ' ' , last_name),
'Дорогой друг'
)
from users
concat игнорирует значения NULL, следовательно результат получается отличным от NULL и coalesce не отрабатывает. Мелочь, но запрос сломался. Чтобы избежать такой ситуации, делайте конкатенацию с помощью
||.2. Фильтрация даты
Типичная задача - найти всех пользователей, которые пришли в заданный период времени. Дата-время регистрации при этом представлена полем
timestamp. Большинство решают задачу так:
select *
from users
where date_joined between '2022-04-01' and '2022-04-02'
А если посмотреть глазами на результат, то станет очевидно, что регистрации от 2 апреля были проигнорированы. Это связано с тем, что при сравнении идет внутреннее преобразование к
'2022-04-02 00:00:00' - поэтому все регистрации 2 апреля не идут в расчет. А самое страшное, что на больших наборах данных это сложно заметить. Опять же, аналитика неправильная - запрос поломался. Чтобы этого избежать, можно выполнить явное преобразование
date_joined::date.3. Заполнение пробелами в TO_CHAR
Знаете, какой будет результат выполнения вот этого запроса?
select to_char('2022-04-05'::date, 'month') = 'april'
Скорее всего, вы ответили True. Но нет - результатом будет False. Это связано с тем, что to_char(..., 'month') заполняет месяц пробелами до 9 символов. Поэтому True вернет вот такой запрос:select to_char('2022-04-05'::date, 'month') = 'april '
Если этого не знать, то все ваши когортные анализы пойдут под откос. А решение очень простое - добавить TRIM.- - - - -
🔗 Освойте еще больше «фишечек» в нашем Симуляторе: ссылка
🔥21👍9
🔥 SQL-запрос для проведения ABC-анализа
Если вы работали с аналитикой ассортиментной матрицы или продаж, то вы точно сталкивались с таким методом, как ABC-анализ.
И сегодня вместе с Николаем Валиотти из Left Join мы решили подробно разобрать: как сделать ABC анализ с помощью всего одного SQL-запроса.
Интересно, что некоторые используют ABC-анализ даже в личном тайм-менеджменте. Все потому что он основан на законе Парето, который легко можно переформулировать на абсолютно любую сферу. Например:
20% ваших действий приносят 80% результата
20% ваших клиентов приносят 80% прибыли
20% вашего ассортимента приносят 80% продаж
Ну дальше вы поняли... Кстати, мы хотим сделать целую подборку подобных постов со сниппетами SQL-запросов. Как вам идея? 😏
- - - - - - - - - -
🔗 Освойте еще больше «фишечек» в нашем Симуляторе
Если вы работали с аналитикой ассортиментной матрицы или продаж, то вы точно сталкивались с таким методом, как ABC-анализ.
И сегодня вместе с Николаем Валиотти из Left Join мы решили подробно разобрать: как сделать ABC анализ с помощью всего одного SQL-запроса.
Интересно, что некоторые используют ABC-анализ даже в личном тайм-менеджменте. Все потому что он основан на законе Парето, который легко можно переформулировать на абсолютно любую сферу. Например:
20% ваших действий приносят 80% результата
20% ваших клиентов приносят 80% прибыли
20% вашего ассортимента приносят 80% продаж
Ну дальше вы поняли... Кстати, мы хотим сделать целую подборку подобных постов со сниппетами SQL-запросов. Как вам идея? 😏
- - - - - - - - - -
🔗 Освойте еще больше «фишечек» в нашем Симуляторе
🔥49👍19❤2🤩2