Это статья не про "выучи 10 библиотек и станешь джуном", она про то, что реально приходится использовать каждый день, когда ты работаешь с данными.
Где писать код
Если вы только начинаете, то забудьте про блокнот в операционной системе. Jupyter Notebook или JupyterLab – вот ваше все, там можно писать кусками, сразу смотреть результат, рисовать графики, вставлять пояснения, в общем все очень удобно для разведочного анализа.
Если ноутбук вам показался слабым, можно попробовать Google Colab, там все в браузере и можно не париться с железом. Когда дорастете до нормальных скриптов для продакшена возможно перейдете на VS Code или PyCharm, но на старте Jupyter за глаза.
Что обязательно должно быть в голове
Очень частая ошибка новичков сразу лезть в Pandas, не разобравшись с основами языка и потом начинаются проблемы: человек не понимает, почему список ведет себя не так, как словарь, и откуда берутся странные ошибки.
Вот что нужно именно понимать, а не просто "прочитать и забыть":
- Типы данных. Int, float, str, bool – вучит базово, но когда вы ловите ошибку потому что в колонке числа записаны как строки с запятыми – это оно.
- Списки, словари, множества. Словари вообще штука важная, это половина данных с бэкенда приходит именно в таком виде.
- Условия и циклы. Тут без сюрпризов, но надо уметь не запутаться во вложенных if.
- Функции. Научиться писать def – это основа для того, чтобы не копипастить один и тот же код 10 раз.
- Строковые методы. Split, strip, lower, replace – это то, чем вы будете чистить данные каждый день.
Pandas и NumPy как основа всего
NumPy под капотом у Pandas, но в чистом виде аналитики его используют редко, разве что когда надо быстро посчитать что-то на матрицах, но вот Pandas – это наше все, тут и таблицы, Excel, SQL-подобные операции, только быстрее и гибче.
Что нужно уметь делать руками, не задумываясь:
- Загрузить данные из csv, excel, sql.
- Посмотреть, что внутри: head, info, describe, проверить на пропуски.
- Выбрать нужные строки и колонки, тут важная вещь разобраться с loc и iloc, не просто выучить синтаксис, а именно понять разницу.
- Почистить данные: убрать дубликаты, заполнить пустые места, привести типы.
- Сгруппировать и посчитать. (groupby с agg)
- Создать новую колонку на основе существующих.
- Построить сводную таблицу через pivot_table.
Если вы умеете делать то же, что в Excel делали мышкой, тремя строчками кода – то вы на правильном пути.
Графики: чтобы было видно
Цифры в таблице – это скучно и неочевидно, график сразу показывает, где выбросы, где тренд, где все сломалось.
Тут два основных инструмента:
Matplotlib – база, научитесь строить линейные графики, гистограммы, scatter plots и этого хватит для большинства задач.
Seaborn – надстройка, которая делает сложные вещи красиво и в одну строку, особенно полезны boxplot для поиска выбросов и heatmap для корреляции.
Главное правило: график должен быть понятен без дополнительных пояснений, всегда подписывайте оси, добавляйте заголовки, не экономьте на этом время, это правда важно.
Что дальше: для тех, кто хочет расти
Когда основы освоены, начинается самое интересное, именно это отличает человека, который просто умеет писать код, от того, кто решает задачи.
Статистика на Python. Вам не нужно выводить формулы руками, нужно знать, какую функцию дернуть из scipy.stats или statsmodels, t-тесты, проверка распределений, регрессии – это то, что реально используется.
SQL через Python. Данные редко лежат в csv-файлах на рабочем столе, они в базах и умение подключиться к PostgreSQL или ClickHouse, выгрузить данные прямо в Pandas одной строчкой – это делает из вас настоящего аналитика.
Скорость. Когда данных много, обычные циклы работают часами, нужно уметь делать векторизированные операции и понимать, когда apply с лямбдой спасает, а когда только тормозит.
Итого, что обязательно должно быть в голове
Типы данных
int, float, str, bool – это ну прям база
range, complex – реже пригодится, но знать надо
type() – чтобы смотреть, что вообще лежит
приведение типов: int(), str(), float()
Базовые структуры
списки: append(), extend(), индексы и срезы list[::-1], list comprehension
словари: keys(), values(), items(), get() – чтобы не ловить KeyError
множества: set(), union(), intersection() – когда нужно найти пересечение или уникальные значения
кортежи: чем отличаются от списков и где их использовать
Условия и циклы
if/elif/else, for, while – база
break, continue – чтобы не писать костыли
enumerate() – когда нужен не только элемент, но и индекс
zip() – когда нужно пройтись по двум спискам одновременно
Функции
def – научиться писать, чтобы не копипастить код и переиспользовать расчеты
return – возвращать результат, а не просто печатать
lambda – для мелких функций на лету, особенно в pandas
Строковые методы
split() – разбить строку по разделителю
strip() – удалить лишние пробелы и переносы
lower()/upper() – привести к одному регистру
replace() – заменить подстроку
f-строки – f"Привет, {name}" вместо кусков текста через +
Pandas (pd)
Загрузка и сохранение
pd.read_csv(), pd.to_csv()
pd.read_excel(), pd.to_excel()
pd.read_sql() – сюда же sqlalchemy для подключения к базам
pd.read_json()
Первичный осмотр
head(), tail(), sample() ��� посмотреть что внутри
info() – типы колонок и пропуски
describe() – базовая статистика по числам
shape – размер таблицы
columns – список колонок
dtypes – типы данных по колонкам
Индексация и выборка
loc[] – выбор по меткам
iloc[] – выбор по позициям
isin() – когда нужно отфильтровать по списку значений
between() – диапазон значений
Чистка данных
isnull(), notnull(), dropna(), fillna()
duplicated(), drop_duplicates()
astype() – поменять тип колонки
replace() – заменить одни значения на другие
Группировки и агрегации
groupby() + agg() — внутри agg можно передать список ['sum', 'mean', 'count', 'min', 'max']
pivot_table() – сводные таблицы
crosstab() – частотные таблицы
Колонки
rename() – переименовать
drop() – удалить ненужное
value_counts() – посчитать частоты значений
Работа с датами
pd.to_datetime() – превратить строку в дату
dt.year, dt.month, dt.day – вытащить части даты
dt.dayofweek – день недели
Объединение данных
merge() – SQL-джойны (how='inner', 'left', 'right', 'outer')
concat() — склеить таблицы друг под другом
NumPy (np)
В чистом виде используется реже, но под капотом Pandas он везде и плюс иногда нужен для математики:
np.array() – создать массив
np.mean(), np.median(), np.std() – статистика
np.linspace(), np.arange() – последовательности чисел
np.where() – условная замена значений
np.log(), np.exp() – логарифмы и экспоненты (часто для трансформации признаков)
Matplotlib (plt)
Библиотека для графиков, можно долго настраивать красоту, но для начала хватит базового уровня:
plt.figure() – размер графика
plt.plot() – линейный график
plt.scatter() – точечный график
plt.hist() – гистограмма
plt.bar() – столбчатая диаграмма
plt.title(), plt.xlabel(), plt.ylabel() – подписи
plt.legend() – легенда
plt.show() – показать график
subplots() – несколько графиков на одной картинке
Seaborn (sns)
Надстройка над Matplotlib, которая делает сложные вещи красиво и в одну строку.
sns.histplot() – гистограмма с разными настройками
sns.boxplot() – ящик с усами (для поиска выбросов)
sns.heatmap() – тепловая карта (удобно для корреляции)
sns.pairplot() – матрица графиков по всем парам признаков
sns.countplot() – считалка категорий
Что еще пригодится:
Scipy.stats
ttest_ind() – t-тест для двух групп
chisquare() – хи-квадрат
pearsonr() – корреляция Пирсона
norm() – нормальное распределение
Statsmodels
sm.OLS() – линейная регрессия
sm.Logit() – логистическая регрессия
SQL через Python
psycopg2 или sqlalchemy для подключения к PostgreSQL
pd.read_sql() – загрузить результат запроса сразу в DataFrame
Clickhouse-driver
если работаете с ClickHouse – синтаксис похож на psycopg2, но отдельная библиотека
Что делать новичку
1) Пройти нормальный курс базы
2) Взять любой открытый датасет (хоть тот же Titanic на Kaggle) и сделать полноценный разведочный анализ, написать выводы, построить графики.
3) Писать код каждый день, или хотя бы часто, хотя бы полчаса, нейросети сейчас хорошо помогают, но на старте лучше не давать им писать за вас – так как мозг должен сам научиться думать.
Python в аналитике – это просто инструмент(один из), но если вы им владеете, вы отвечаете на вопросы бизнеса быстрее и точнее, чем те, кто сидит в Excel.
💚Еще больше про будни и задачи аналитика данных в бигтехе в моем тг канале 🌸Таня и Данные📊
📙Предыдущие статьи для старта карьеры:
- Базовый минимум для старта в аналитике
- Как стать аналитиком с нуля (и не потратить на это много денег)
- Обзор книг
- SQL в 2026 для аналитика (с чего начать, где учиться и что реально нужно знать)
