Simulative – Telegram
7.39K subscribers
1.7K photos
70 videos
1 file
1.26K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
🔥 Супер-удобная функция Matplotlib

Это, должно быть, самая крутая вещь, которую мы когда-либо узнавали о Matplotlib.

🤔 Обычно, для создания графиков мы используем метод plt.subplots(). Но иногда это превращается в довольно громоздкие конструкции. А еще:

- это ограничивает нашу гибкость при создании макета;
- иногда получаются ошибки индексации и некоторые другие неловкости.

💡 Вместо этого мы можем использовать метод plt.subplot_mosaic(). Так, мы сможем создать график и расположить его как угодно, определив структуру графика простой строкой.

Например, расположение строк:

- AB
- AC

Создаст три подграфика, в которых:

- подграфик A будет занимать весь первый столбец
- подграфик B будет занимать верхнюю половину второго столбца
- подграфик C будет занимать нижнюю половину второго столбца

ax = fig.subplot_mosaic("""AB
AC""")

ax['A'].plot(...) # область А
ax['B'].plot(...) # область B
ax['C'].plot(...) # область C
Результат смотрите под постом

Затем создайте подграфик в определенной области, просто через доступ к словарю ax по ключу ('A', 'B' или 'C' ).

type(ax)
dict

ax['A'].plot(...) # область А
ax['B'].plot(...) # область B
ax['C'].plot(...) # область C

📌 Попробуйте вместе с нами!

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(
layout="constrained",
figsize = (8,6))

mosaic = """abc
add
eee"""

ax = fig.subplot_mosaic(mosaic)
x = np.linspace(0.1, 1, 10)

ax['a'].plot(x, np.sqrt(x))
ax['b'].scatter(x, x**2)
ax['c'].scatter(x, np.log(x))
ax['d'].bar([1,2,3,4,5],
[1,2,3,4,5])
ax['e'].hist(
np.random.normal(0,1, 100))

plt.show();

Скажите, классная функция?! С помощью нее гораздо проще создавать дашборды 😉

#python #visualization
🔥13😱7🤩5
🔥124
Приглашаем к нам в команду - Технический автор / Методист 🔥

На связи Андрон, CEO IT Resume & Simulative. И сегодня я с хорошей новостью - мы расширяем команду и ищем крутого технического автора / методиста 🔥

Если коротко - ищем в команду человека, который будет заниматься созданием задач, уроков, статей, постов, автотестов по теме аналитики и программирования по всем нашим продуктам. Результаты вашей работы будут видеть тысячи человек каждый месяц - это очень вдохновляет 😍

🔗 Подробнее про вакансию и как откликнуться - по ссылке: https://merciful-cobra-6c3.notion.site/086bc4211c0f4fb38ea0cd2df6bd69bb?pvs=4

Желаю удачи и до скорой встречи у нас в команде 😉
🔥52🤩2
📚 Секреты с SQL собеседований: Изучаем констраинты в PostgreSQL!

Привет, друзья! Сегодня мы углубимся в мир SQL и обсудим одну из важных тем – констраинты! Если вы готовитесь к собеседованию на должность, связанную с SQL, то обязательно стоит освоить эту тему. Констраинты в PostgreSQL помогают обеспечивать целостность данных и поддерживать ограничения, защищающие информацию.

⭐️ Что такое констраинты в PostgreSQL?

Констраинты
– это правила или ограничения, которые налагаются на данные в таблицах базы данных. Они гарантируют соблюдение определенных правил при вставке или изменении данных, помогая избежать ошибок и несогласованных значений.

🔍 Типы констраинтов

1. PRIMARY KEY (первичный ключ): Обеспечивает уникальность значений в столбце и предотвращает ввод значения NULL.

CREATE TABLE products (
product_no integer PRIMARY KEY,
name text,
price numeric
);


2. FOREIGN KEY (внешний ключ): Связывает значения в столбце с значениями в другой таблице, обеспечивая ссылочную целостность данных.

-- например создадим внешний ключ к прошлой таблице в таблице orders

CREATE TABLE orders (
order_id integer PRIMARY KEY,
product_no integer REFERENCES
products (product_no),
quantity integer
);


3. UNIQUE (уникальный): Гарантирует уникальность значений в столбце. Причем, в отличие от PRIMARY KEY - не гарантирует отсутствие NULL-значений. Так как два NULL значения для PostgreSQL - различны 🙂

CREATE TABLE products (
product_no integer UNIQUE,
name text,
price numeric
);

-- или для группы столбцов сразу

CREATE TABLE example (
a integer,
b integer,
c integer,
UNIQUE (a, c)
);

-- причем в таком формате,
уникальными должны быть только
сочетания этих столбцов, а
значения по отдельности
уникальными могут и не быть :)


4. CHECK (проверка): Устанавливает условие, которое должно быть истинным для вставки или обновления данных в таблице.

Пример:

CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0)
);
-- ограничили цену товара положительными значениями


🚀 Почему это важно для собеседований?

Вопросы о констраинтах часто задают на собеседованиях, чтобы убедиться, что вы хорошо разбираетесь в работе с БД и понимаете, как обеспечить целостность данных. И хотя аналитикам редко приходится формировать таблицы - это спрашивают практически на каждом собеседовании. А предупрежден - значит вооружен!

👉 Подготовиться к любому техническому собеседованию поможет Симулятор собеседования аналитика → задачи с собеседований в топовые компании, тестовые онлайн-собеседования, вопросы и кейсы и много другое!

#sql #interview_problems
11👍7🔥7
🔥 7 полезных применений Underscore в Python

Сегодня давайте поговорим о таком незаметном, но очень полезном символе - нижнее подчеркивание или underscore (_). Эти маленькие символы на самом деле ответственны за широкий функционал. Какой? Давайте посмотрим:

1️⃣ Имя переменной в цикле

Это, наверное, знакомо всем. В ситуациях, когда вам не нужно далее использовать переменную цикла - можно не придумывать ей имя, а просто задать underscore:

for _ in range(10):
pass

2️⃣ Разделение цифр

Чтобы сделать большие числа более понятными, можно использовать подчеркивания для разделения разрядов. Ваш код будет намного чище и легче читаться! 👀

10000000000000
# 10000000000000

10_000_000_000_000
# 10000000000000

3️⃣ Магические методы

Двойные нижние подчеркивания позволяют нам написать магические методы:

class MyClass:
def __init__(self) :
self.variable = 10

4️⃣ Приватность

Если вам нужно сделать атрибут приватным в классе, добавьте двойное подчеркивание в начале. Это защитит вашу переменную от случайного переопределения. 🔒

self.__attr = 10

5️⃣ Одиночное подчеркивание для внутренних переменных

Если вы хотите обозначить переменную для внутреннего использования, добавьте одиночное подчеркивание в начале имени. Это поможет избежать конфликтов и понять, что эта переменная предназначена для внутренних целей. 💡

# file.py
_internal = 10

from file import *
_variable
# NameError: name '_variable' is not defined

И десерт!

6️⃣ Конфликты с ключевыми словами

Если вам нужно использовать имя, которое совпадает с зарезервированным словом, добавьте одиночное подчеркивание в конец имени:

def foo(class = "object"):
... # не сработает

def foo(class_ = "object"):
... # сработает

7️⃣ Последнее вычисленное значение

Когда вам нужно использовать результат предыдущего вычисления, просто введите _, и Python даст вам последнее значение. Вот так легко и удобно! 😎

5 + 10
# 15

_
# 15

💫 Надеемся, что эти маленькие хитрости сделают ваш опыт еще более приятным. Поделитесь с нами, какие секреты Underscore в Python вы знаете и любите использовать!
👍20🔥103
🔥 DAU/MAU - ключевые продуктовые метрики

Сегодня мы поговорим о ключевых метриках использования продукта, которые помогают оценить активность пользователей и вовлеченность. Эти метрики являются основой для понимания того, насколько успешно работает ваш продукт и насколько довольны им пользователи. Итак, DAU и MAU!

🔵 Как эти метрики стали использоваться?

DAU/MAU был популярным показателем из-за Facebook, который популяризировал метрику. В результате, когда они начали говорить об этом, другие приложения часто стали оцениваться по тем же ключевым показателям эффективности.

🟢 Что такое DAU?

DAU (Daily Active Users) – это метрика, которая показывает количество уникальных пользователей, активно использующих ваш продукт или сервис в течение одного дня.

🟣 Что такое MAU?

MAU (Monthly Active Users) – это метрика, измеряющая количество уникальных пользователей, которые заходят на вашу платформу в течение месяца. MAU предоставляет гораздо более обширную картину о популярности продукта и его росте на более длительном временном отрезке.

📈 Как увеличить?

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

‼️ НО!

Не все должно использоваться ежедневно, чтобы быть ценным. По другую сторону находятся продукты, использование которых - скорее эпизодическое, но каждое взаимодействие имеет большое значение. И здесь DAU/MAU - неподходящая метрика.

> В Uber, например, самые выгодные поездки - это поездки в аэропорты, премиум поездки для важных выходов, деловых поездок и т. д. Это происходит не каждый день, и хотя есть люди, использующие Uber для поездок на работу, это не есть стандартный сценарий использования.


🟡 Что сделать?

Если ваш DAU/MAU не очень высок, то посмотрите на свою основную пользовательскую базу. Какой % ваших пользователей был активным каждый день на прошлой неделе? Что они делали? Как вы собираетесь привлечь больше?

Аналогично, возможно, частота использования увеличивается в корреляции с чем-то. Можно проследить за этим и предположить, что, увеличивая эту переменную, DAU/MAU со временем будет расти.

Наконец, может быть, DAU/MAU просто не для вас. Иногда вам не нужно быть приложением каждого дня, чтобы быть успешными. Может быть клиенты используют ваш продукт 2 раза в год, но он приносит им большую ценность, а вам - крупную сумму денег!

Научитесь считать, анализировать и правильно интерпретировать продуктовые метрики в нашем 👉 Симуляторе «Аналитик данных» 👈!

#продуктовые_метрики
🔥106👍5
Кому в аналитике работать хорошо? 🏖

В наших проектах мы ежемесячно помогаем десяткам ребят с разным опытом найти свою работу мечты в аналитике. Кто-то устраивается BI-аналитиком, кто-то находит свое призвание в продуктовой аналитике, а кто-то тащится от маркетинга.

Но абсолютно каждый раз перед принятием оффера мы вместе с ребятами оцениваем - а насколько вообще в компании работать классно, интересно и перспективно? Ведь это супер важно для карьерного роста - попасть в проект, который позволяет тебе расти вместе с бизнесом, в котором ты работаешь, за счет супер-интересных задач и супер-амбициозной команды 😎

И одна из таких компаний, которую мы всегда рекомендуем двумя руками - Яндекс, а в частности его подразделения Яндекс 360 и Yandex Cloud (наверняка вы пользуетесь их продуктами, признайтесь) 🔥 Они наши давние партнеры - в разное время там работало, как минимум, несколько десятков наших ребят.

А сегодня они по старой дружбе попросили рассказать вам о двух классных вакансиях - а мы не могли отказать 🕺 Так что налетайте, пока они еще актуальны)))

* Developer Advocate Data Platform

Если коротко: Нужно помогать Яндексу продвигать Yandex Cloud среди разработчиков. Условия - отличные. Задачи - супер интересные и нестандартные. А строчка в резюме с таким звучным названием вакансии - вообще кайф)))

Важная информация: Админ канала уже откликнулся на вакансию, так что не затягивайте - конкуренция плотная))

🔗 Ссылка на вакансию: ссылка


* Аналитик-разработчик в области автоматизации процессов ИБ

Рекламу анализируют многие. Многие анализируют HR. Еще больше анализируют продукт. А кто анализирует безопасность? 😏

Правильный ответ: те, кто не растерялся и первым откликнулся на эту кайфовую вакансию 😁

🔗 Ссылка на вакансию: ссылка

В общем, если вы развиваетесь в аналитике и кайфуете от работы в крутых командах и проектах - вам в Яндекс. Больше и добавить нечего - просто залетайте по ссылкам и будет вам счастье)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
🚀 Ищем преподавателя по AB-тестам и аналитике! 🚀

Мы, команда IT Resume, ищем энергичного и вдохновленного преподавателя, готового поделиться своими знаниями и страстью к анализу данных и AB-тестам!

📋 Обязанности:

- Подготовка обучающих материалов
- Составление интересных задач по теме AB-тестирования
- Запись видеоуроков для наших студентов

📌 Требования:

- Опыт работы на аналогичных курсах приветствуется, но не обязателен
- Опыт работы с AB-тестами является большим плюсом

💼 Условия:

- Сдельная оплата
- Гибкий график и возможность работы из дома
- Оплата за готовый материал
- Поддержка студентов, если вам интересно, оплачивается отдельно и помесячно

📩 Для начала, давайте поговорим - свяжитесь с Анной Даниловой, чтобы узнать больше о вакансии.

Присоединяйтесь к нам и помогайте студентам освоить мир аналитики и AB-тестирования! 🔥
4🔥4
🔥 Ошибки при использовании джоинов 🔥

Давайте обсудим некоторые ключевые аспекты работы с джоинами в SQL, на которые стоит обратить внимание, чтобы избежать ошибок и недоразумений.

🔑 Сохранение данных в приоритете

При написании запросов с джоинами, особенно с транзитивными связями, всегда задавайте себе вопрос:

Какие данные мне важно не потерять?

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

1️⃣ Вы выбираете джоин, который кажется логичным.

2️⃣ Вы не замечаете потенциальных проблем.

Давайте рассмотрим этот момент на примере:

SELECT *
FROM problem p
JOIN page p2
ON p.page_id = p2.id
JOIN company c
ON p.company_id = c.id

На первый взгляд, этот запрос кажется корректным, и результаты выглядят нормально. Однако, если внимательно проанализировать, вы увидите, что множество записей из таблицы problem просто исчезли 😱

⁉️ Почему так произошло?

Что, если в таблице problem есть строки, в которых company_id = NULL? Тогда такие строки будут исключены из результата, ведь в таблице company поле id - первичный ключ и не содержит NULL.

❗️Чтобы избежать потери данных, всегда помните о выборе правильного типа джоина:

SELECT *
FROM problem p
JOIN page p2
ON p.page_id = p2.id
LEFT JOIN company c
ON p.company_id = c.id

Используя LEFT JOIN, вы сохраните все записи из problem и соответствующие им записи из company, где problem.company_id=NULL, будут иметь пустые значения.

Помните об этом важном аспекте при работе с джоинами, чтобы получать точные и полные результаты!

🔗 Узнайте больше полезностей в Симуляторе 👉 «Аналитик данных» 👈

#sql
17🔥9👍7🤩4
🔥 Базовая Шпаргалка по Pandas 🔥

Pandas - один из самых основных и важных инструментов для работы с данными в Python. Он предоставляет множество удобных функций для загрузки, обработки, и анализа данных.

Мы собрали шпаргалку, в которой все основные функции, которые пригодятся вам в повседневной работе с Pandas:

Импорт данных: Загрузка данных из разных источников.

Исследование данных: Ознакомление с данными, просмотр первых и последних строк, получение информации о типах данных.

Извлечение информации из датафреймов: Выбор столбцов и строк, выполнение различных операций.

Добавление и удаление данных: Добавление новых столбцов и строк, удаление лишних данных.

Фильтрация: Выбор данных по условию, множественные условия.

Сортировка: Сортировка данных по столбцам, множественная сортировка.

Агрегирование: Группировка данных, вычисление статистических показателей, подсчет уникальных значений.

И для удобства мы сделали для вас notebook 😊

Сохраняйте и пользуйтесь 👇

https://colab.research.google.com/drive/1XOF8oQB3kzs0Yxt17XdtGy8IFNudvp4c?usp=sharing

Если у вас есть какие-либо дополнения, не стесняйтесь оставлять в комментариях! 🐼

#python #pandas
👍15🔥86
Персональная онлайн-экскурсия в Симулятор 🔥

Небольшая предыстория - на этой неделе я выбирал себе курс по английскому языку. Просмотрел более 20 компаний, сходил на вебинары, посмотрел на демо-версии. И знаете, что больше всего смущает и останавливает от покупки?

А то, что только после покупки я узнаю, за что я реально заплатил и что реально получил 🥲 Получается, беру кота в мешке за N тысяч рублей. Волнительно. Поэтому мы решили запустить для вас бесплатную онлайн-экскурсию в наш Симулятор «Аналитик данных»! 😍

За 20 минут на онлайн-созвоне в Google Meet/Zoom мы:

🔸Покажем все обучающие материалы, LMS, рабочие чаты и примеры выполненных работ
🔸Проанализируем вашу текущую ситуацию, уровень знаний и желаемый карьерный результат
🔸Составим список точных шагов, которые приведут вас к нужному результату
🔸Поможем приоритизировать обучение и выстроим четкий образовательный трек

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

Хотите уже на этапе обучения решать кейсы из реального бизнеса? Запишитесь к нам на онлайн-экскурсию - мы поможем сделать обучение эффективным!

🎁 Бонусы для участников экскурсии:

- Тестовый доступ к Симулятору «Аналитик данных»
- Методичка по продуктовым метрикам
- Методичка по рекламным метрикам
- Гайд по Retention
- Доступ к закрытой библиотеке лучших книг по SQL

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA
🔥54👍2👎1
🔥 Симулятор «Аналитик данных» — обучение стало доступнее!

Спешим поделиться классной новостью! Мы расширили способы оплаты обучения и теперь:

→ Мы принимаем платежи с любых карт, с российских и зарубежных.

→ Предоставляем беспроцентную рассрочку на обучение на 3, 6, 12 и 24 (!) месяца. Это не кредит — все проценты мы берем на себя. Сотрудничаем с банками Тиньков, Сбером и Хоум Кредит банком.

→ Можем давать вам внутреннюю рассрочку, если у вас нет возможности взять ее от РФ банка — просто напишите нам на почту clients@itresume.ru, мы поможем 💪🏻

→ Если вы из Беларуси и вам необходима рассрочка — напишите нам на почту clients@itresume.ru 😉

Симулятор «Аналитик данных» — это обучающая программа, где студенты:

🔹 учатся аналитике данных на реальных коммерческих задачах и кейсах;
🔹 пополняют своё портфолио и работают с универсальным инструментарием;
🔹получают оффер после обучения, не имея за плечами настоящего опыта на стороне компании.

А вы готовы присоединиться к нам? 👉 ссылка
4🔥3🤩2👍1👎1
🔥 Заглядываем в Мир версионного контроля

Привет, коллеги - разработчики! Сегодня мы рассмотрим важные состояния файлов в Git.

Git - это ядро современного сотрудничества и версионного контроля в мире программирования.

1️⃣ Неотслеживаемое (Untracked)

- Это файлы, которые созданы, но Git не знает о них. Они находятся в состоянии "untracked".
- Чтобы начать отслеживание файла, используйте команду git add <имя файла>, и он перейдет в состояние "staged".

2️⃣ Измененное (Modified)

- Если вы изменяете файлы, которые уже отслеживаются Git, они переходят в состояние "modified".
- Git сохраняет информацию о том, какие строки и какие части файлов были изменены.

3️⃣ Подготовленное (Staged)

- Здесь находятся файлы, готовые к следующему коммиту. Вы выбираете, что включить в коммит.

4️⃣ Закомиченное (Committed)

- После коммита файлы становятся закомиченными и сохраняются в истории проекта.
- Состояние "staged" становится пустым, но состояние "modified" может содержать изменения.

Git - это не просто инструмент, это язык, на котором разговаривают разработчики 👩‍💻🧑‍💻👨‍💻

Не забудьте поделиться вашим опытом в комментариях!

_ _ _ _ _ _ _ _ _ _ _

Хотите посмотреть, как устроен наш Симулятор «Аналитик данных» и понять, как вы можете бустануть свою карьеру в аналитике с помощью обучения на реальных бизнес-кейсах? Просто запишитесь на нашу бесплатную онлайн-экскурсию!

За час на онлайн-созвоне в Google Meet/Zoom мы:

🔸Покажем все обучающие материалы, LMS, рабочие чаты и примеры выполненных работ
🔸Проанализируем вашу текущую ситуацию, уровень знаний и желаемый карьерный результат
🔸Составим список точных шагов, которые приведут вас к нужному результату

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

🎁 Бонусы для участников экскурсии:

- Тестовый доступ к Симулятору «Аналитик данных»
- Методичка по продуктовым метрикам
- Методичка по рекламным метрикам
- Гайд по Retention
- Доступ к закрытой библиотеке лучших книг по SQL

🔗 Записаться на экскурсию: https://forms.gle/qSyfrudojoZpodYaA

#git
3👍3🔥2
🤩 Обновление в Симуляторе «Собеседования аналитика»!

У нас новости! Мы расширили опции тарифов на Симуляторе «Собеседования аналитика», и обучение теперь стало еще приятнее и продуктивнее.

Что мы добавили:

🔸 бессрочный доступ ко всем материалам курса

🔸 поддержку наставника по любым вопросам 24/7

🔸 еще больше продуктовых кейсов и задач с технических собеседований — вас ждет настоящая «прожарка» ваших знаний и навыков 😉

Подробнее о тарифах и опциях на сайте 👉 ссылка 👈
2👍2🔥2
🤓 Повторяем вопросы к собеседованиям 😎

Чем авторизация отличается от аутентификации?
Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введенного им пароля с паролем, сохраненным в базе данных. Авторизация — предоставление определенному лицу или группе лиц прав на выполнение определенных действий.

Почему базы данных называются реляционными?
Потому что данные в них хранятся в виде таблиц. Также бывают нереляционные бд, в которых данные хранятся иначе, например в формате словарей или графов.

Чем left join отличается от inner join?
inner join возвращает строки, содержащие совпадения в обоих таблицах, left join — все строки из левой таблицы, даже если в правой нет совпадений.

Что такое foreign key (внешний ключ)?
Внешний ключ SQL — это ключ, используемый для объединения двух таблиц. Иногда его также называют ссылочным ключом. Внешний ключ — это столбец или комбинация столбцов, значения которых соответствуют Первичному ключу в другой таблице.

🚀 Присоединяйтесь к курсу 👉 Симулятор Собеседования!

Будем готовиться вместе 💪

#interview_problems
🔥15👍9😁1🤩1
🌿🏡 Задача по SQL о Продаже кабачков с дачи

А вот и задачка Вам под выходные))) Наверняка вы решили начать бизнес по продаже свежих кабачков, которые ваши соседи 👨 👩 👦 👧 👴 👵 привозят с дачи. Вы хотите создать базу данных, чтобы отслеживать этот процесс и управлять продажами.

У вас есть две таблицы:

1. Таблица "Дачники" (Gardeners):

- gardener_id (идентификатор дачника)

- gardener_name (имя дачника)

- gardener_address (адрес дачника)

2. Таблица "Кабачки" (Zucchinis):

- zucchini_id (идентификатор кабачка)

- zucchini_weight (вес кабачка в граммах)

- purchase_date (дата покупки кабачка)

- gardener_id (идентификатор дачника, который привез кабачок)

Ваша задача:

1. Создать SQL-запрос, который вернет список дачников (имя и адрес), которые привезли кабачки весом более 500 граммов.

2. Создать SQL-запрос, который определит общий вес всех кабачков, которые были приобретены на определенную дату (например, 1 сентября 2023 года).

3. Создать SQL-запрос, который найдет дачника, который привез самый тяжелый кабачок, и выведет его имя и вес кабачка.

❗️ Помните, что для решения этой задачи вам потребуется выполнить соединение таблиц и использовать агрегатные функции SQL.

Присылайте ваше решение в комменты. А завтра мы выложим свое решение 😉

Ну и, удачи в управлении бизнесом с кабачками с дачи! 🌿🏡
😁1211👍5🤩1
📈Успели собрать все кабачки и проанализировать? 😄

А вот и решение подъехало, можно сравнить с тем, что получилось у вас 😊

1. Список дачников (имя и адрес), которые привезли кабачки весом более 500 граммов:

SELECT gardener_name, 
gardener_address
FROM Gardeners
INNER JOIN Zucchinis
ON Gardeners.gardener_id =
Zucchinis.gardener_id
WHERE Zucchinis.zucchini_weight > 500;

2. Общий вес всех кабачков, которые были приобретены на определенную дату (например, 1 сентября 2023 года):

SELECT SUM(zucchini_weight) 
AS total_weight
FROM Zucchinis
WHERE purchase_date =
'2023-09-01';

3. Дачник, который привез самый тяжелый кабачок, и его имя и вес кабачка:

SELECT gardener_name, 
MAX(zucchini_weight)
AS max_weight
FROM Gardeners
INNER JOIN Zucchinis
ON Gardeners.gardener_id =
Zucchinis.gardener_id
GROUP BY gardener_name
ORDER BY max_weight DESC
LIMIT 1;

Теперь вы можете использовать эти SQL-запросы для управления любым вашим бизнесом! 🌿🏡😊
8👍5
WarCraft, Dota или … SQL?! 💃

Признайтесь, наверняка в детстве (а может и не в детстве) вы наиграли сотни часов в Dota и/или прошли все кампании в Warcraft 3? Вот мы именно так и проводили время 😅

А теперь мы выросли и вместо борьбы с Плетью и Пылающим легионом вынуждены писать скрипты на Python и многоэтажные SQL-запросы. Но наверняка вы не знаете, что… можно писать код и играть в WarCraft одновременно? 😉

Да, мы с командой запустили новый проект - WarCode: Спасение Древа Жизни 🌳

🔗 war-code.ru

Мы подготовили для вас 3 отборные задачи по направлениям Data Engineering, Machine Learning и Data Science:

- изменение пикового значения регистраций юзеров [SQL, Data Engineering]
- поиск весов cross-attention [Python, ML]
- использование Named Entity Recognition [Python, DS]

Решите одну или несколько задачек и спасите Древо Жизни от Багтрекаса и его Юзерского Легиона!

Начать решать задачки: war-code.ru

P.S. За каждый репост и реакицю ❤️ на этот пост вам прилетит +1000 очков к карме и личный респект от каждого разработчика этого проекта. Мы очень старались 🙏🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
24😁3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
5😁3
🚀 Как увеличить производительность Pandas в 1000 раз!

Pandas - мощная библиотека для работы с данными, но иногда она может работать медленно, особенно с большими наборами данных. В этом посте мы рассмотрим несколько стратегий, которые могут ускорить работу Pandas в 1000 раз и сделать ваши вычисления более эффективными. 🚀

1. Используйте pandas.read_csv с параметром dtype

Если вы заранее знаете типы данных в ваших столбцах, передайте их при чтении CSV-файла. Это ускорит процесс чтения данных.

dtypes = {'col1': 'тип1',
'col2': 'тип2'}
df = pd.read_csv('file.csv',
dtype=dtypes)
 
2. Используйте pandas.DataFrame.query

Вместо фильтрации данных с использованием df[df['условие']] используйте df.query('условие'), что может быть намного быстрее.
  
df_filtered =
df.query('col>100')
   
3. Используйте pandas.concat вместо pd.DataFrame.append в циклах

Если вам нужно объединить много DataFrame в цикле, используйте pandas.concat вместо append, чтобы избежать многократного копирования данных.
  
dfs = [df1, df2, df3, ...]
combined_df = pd.concat(dfs)
   
4. Используйте pandas.DataFrame.apply с функцией, написанной на C

Если вам нужно применить функцию к столбцу DataFrame, напишите функцию на C и используйте apply с параметром raw=True, чтобы ускорить процесс.

def my_function_c(data):
# Реализация функции на C
return result

df['new_col'] =
df['col'].apply(
my_function_c, raw=True)
 
5. Используйте pandas.DataFrame.groupby с agg вместо apply

Если вам нужно применить функцию к группам данных, используйте agg, чтобы уменьшить количество вызовов функции.

grouped =
df.groupby('col1').agg(
{'col2': 'сумма',
'col3': 'среднее'})
   
Применяя эти стратегии, вы можете ускорить работу Pandas в 1000 раз и сделать анализ данных более эффективным и быстрым. Не забудьте всегда профилировать и измерять производительность вашего кода, чтобы определить, какие оптимизации наиболее эффективны для вашей конкретной задачи💡🐼

#pandas
_ _ _ _ _ _ _ _ _

🔥 Хотите посмотреть, как устроен наш Симулятор «Аналитик данных» и понять, как вы можете бустануть свою карьеру в аналитике с помощью обучения на реальных бизнес-кейсах?

🔗 Просто запишитесь на нашу бесплатную онлайн-экскурсию: https://forms.gle/qSyfrudojoZpodYaA
🔥15👍6🤩2