Теория· 8 мин· 10 XP
pandas vs SQL: таблица соответствий
pandas и SQL решают одни задачи — разными синтаксисами. Понимая SQL, вы будете быстро читать pandas-код и наоборот.
Таблица соответствий
| pandas | SQL |
|---|---|
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;
Прочитайте урок до конца — прогресс засчитается автоматически