Добре дошъл
Накратко: Анализът на данни е пътят от въпроса до отговора: зареждане, почистване, сметки, графики и проверка, тук с Python, pandas и matplotlib направо в браузъра.
Проблем
Числото е вярно. Решението е грешно
Магазинът вижда, че оборотът през декември е паднал десет пъти спрямо октомври. Управителят спира рекламата, сменя доставчика и намалява цените. Месец по-късно се оказва, че през октомври двама клиенти са направили големи поръчки за офиса си. Декември е бил обикновен месец.
Числото в таблицата е било вярно. Грешно е било какво следва от него. Анализът на данни е точно това: да отговориш на въпрос с данни така, че на отговора да може да се вярва.
Идеята
Пътят на анализа
Всеки анализ минава през едни и същи стъпки, а курсът е подреден по тях:
- Въпросът. Какво трябва да реши някой с отговора? „Защо оборотът падна“ е въпрос. „Анализирай продажбите“ не е.
- Данните. Кои таблици, от кога, какво значи един ред.
- Почистване. Празни клетки, дубликати, „1,60 €“ като текст, грешни дати.
- Разглеждане. Таблици, групи и графики: какво има в данните.
- Изводът. Истински ли е спадът, или е шум? Причина ли е, или съвпадение?
- Разказът. Три изречения, една графика и границите на отговора.
Ето накъде отиваш: оборотът на магазина по месеци, от суровите таблици до графиката. Натисни „Изпълни“:
Кодът ще ти е ясен ред по ред в модула „Подреждане на данни“. Графиката обаче вече задава въпрос: месеците скачат силно. Спад ли е декември, или шум? Отговорът е в модула за статистика.
Идеята
Пясъчникът
Кодът в уроците е истински Python и върви в браузъра ти. Първото пускане сваля Python (около 13 MB) и после е в кеша. Пробвай, после смени цените и пусни пак:
- Ctrl+Enter (⌘+Enter на Mac) пуска кода, а „Върни кода“ връща примера. Tab слага отстъп.
- Изходът е като в бележник: всичко от
print, а накрая стойността на последния ред. Таблиците излизат като таблици, а графиките като картинки. - Грешката е обяснена: първо с думи и с номера на реда, а под нея е оригиналът на Python, за да го познаеш, когато го видиш на своя компютър.
- Всяко пускане започва наново. Променливите от предишното пускане ги няма, както ако пуснеш целия бележник отначало.
- Мрежа няма. Данните са файловете до кода: таблиците на магазина от курса по SQL, в евро.
- Код, който не свършва за 10 секунди (безкраен цикъл), се спира, без страницата да замръзне.
Идеята
Модулите
- NumPy: масиви и сметки върху хиляди числа без
for. - Таблици с pandas: избиране, филтриране, нови колони, типове и липсващи стойности.
- Подреждане на данни: групи, съединяване на таблици, широко и дълго, дати, мръсни данни.
- Графики: коя графика за какъв въпрос и как графика лъже.
- Статистика за решения: колко шумно е едно число, интервали, проверка на хипотези, A/B тест, корелация и причина.
- Модели със scikit-learn: прогноза, класификация, изтичане на информация и честна проверка.
- Проект: защо оборотът падна: целият път с данните на магазина.
По-точно, за любопитните
Анализ на данни се прави и на R (силен в статистиката) и на Julia (бърза за числени сметки). Индустрията е предимно на Python, затова курсът е на него. Идеите са едни и същи.
Идеята
Какво трябва да знаеш
От Python ти трябват списъци, речници, for, функции и ламбди: курсът по Python до „Колекции“. SQL помага, но не е задължителен: групирането и съединяването се учат наново, тук с pandas.
В браузъра не трябва нищо. За своя работа ти трябват Python и JupyterLab: бележникът, в който кодът е на клетки, а изходът е под всяка. С uv проектът се прави така:
uv init shop-analysiscd shop-analysisuv add pandas matplotlib scikit-learn jupyterlabuv run jupyter labБез uv работи и обикновената виртуална среда:
python -m venv .venvsource .venv/bin/activatepip install pandas matplotlib scikit-learn jupyterlabjupyter labНа Windows втората команда е .venv\Scripts\activate. VS Code също отваря бележници (файловете .ipynb) с разширението Jupyter. Тези команди не се пускат тук.
Тест