October 29, 2023

Библиотека Pandasql в помощь для тестовых 

🔥 Как тестировать SQL код при решении тестовых? Есть библиотека Pandasql. 🛠 Она позволяет выполнять SQL-запросы прямо в Юпитере, а вместо базы можно просто создавать DataFrame.
Например:
from pandasql import sqldf
import pandas as pd
# Создание DataFrame user_actions
user_actions = pd.DataFrame({'user_id': [1, 1, 2, 3, 3], 'order_id': [101, 102, 103, 104, 105], 'action': ['create_order', 'cancel_order', 'create_order', 'create_order', 'cancel_order']})

Предположим, у нас есть таблица user_actions с информацией о действиях пользователей на нашем сервисе, включая id пользователя, id заказа и тип действия. Мы хотим отобрать всех пользователей, которые ни разу не отменяли заказы.
Выполнение SQL-запроса с помощью pandasql:
query = """ SELECT DISTINCT user_id FROM user_actions WHERE user_id NOT IN ( SELECT user_id FROM user_actions WHERE action = 'cancel_order' ) """ sqldf(query)

Мы используем подзапрос, чтобы получить все user_id пользователей, которые отменили заказы, и затем исключаем этих пользователей из основного запроса с помощью оператора NOT IN.

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

Учитывая, что осень - пора активных собеседований, то кому-то это точно пригодится. ✔️

P.S. Пост про то, какие онлайн сайты можно использовать для SQL у меня тут (https://t.me/analysts_world/64)