SQLLab
Теория· 8 мин· 10 XP

pandas vs SQL: таблица соответствий

pandas и SQL решают одни задачи — разными синтаксисами. Понимая SQL, вы будете быстро читать pandas-код и наоборот.

Таблица соответствий

pandasSQL
df.head(10)SELECT ... LIMIT 10
df[df['plan'] == 'pro']WHERE plan = 'pro'
df.sort_values('amount', ascending=False)ORDER BY amount DESC
df[['id','name']]SELECT id, name
df.groupby('category').agg({'price': 'sum'})GROUP BY category + SUM(price)
df.merge(users, on='user_id')JOIN users ON ...
df.pivot_table(values='amount', index='category', aggfunc='sum')CASE WHEN + GROUP BY
df['amount'].cumsum()SUM() OVER (ORDER BY ...)
df['category'].value_counts()GROUP BY category ORDER BY COUNT(*) DESC
df.drop_duplicates('user_id')DISTINCT ON (user_id)
df.isna()IS NULL

Пример: groupby

python
# pandas:
df.groupby('category')['price'].mean().sort_values(ascending=False)
sql
-- SQL:
SELECT category, ROUND(AVG(price), 2) AS avg_price
FROM products
GROUP BY category
ORDER BY avg_price DESC;

Прочитайте урок до конца — прогресс засчитается автоматически