NULL++
95 subscribers
49 photos
16 links
Канал для тех, кто хочет развиваться как Data Analyst, Data Engineer и BI-Analyst
@HexMikhail
Download Telegram
Всем привет!
Сегодня я решил арендовать простенький VPS для того, чтобы там крутились PostgreSQL и всякие Python скрипты)
Долго искал, где есть возможность буквально в пару кликов всё настроить и чтобы было недорого, и остановился на beget.com (не реклама, если что).
Хочу для начала перенести один свой учебный проект. Когда всё получится, я запилю об этом пост.

@nullpp #PostgreSQL #VPS #Python
👍7🔥1
Всем привет! :)
Как часто вам приходится генерировать какие-то данные? Бывает так, что создание синтетических данных просто необходимо. Например, для заполнения пропусков в датасете.
Кто-то скажет, что лучше удалить все пропуски и фиг с ним! Но это может привести к нежелательным последствиям.
Например, если удалять строки, то мы можем потерять большой объем данных или это может внести различного рода смещение (если пропуски не случайны). А если удалять столбцы, то мы можем потерять потенциально полезный признак для анализа.
Поэтому сначала смотрят каков процент пропусков и уже потом решают, что с ним делать. Может и действительно, легче удалить 15 строк из 10000, чем возиться с ними.
Для исправления ситуации обычно используется что-то, что очень быстро и легко "вставить".
Самый распространенный пример - это замена статистическими показателями. Это может быть среднее значение mean, медиана median или мода moda (часто встречающееся значение, обычно используется для категориальных данных).
Или можно просто заменить константой, предыдущим значением, интерполяцией.
А можно сгенерировать значение, подчиняющееся необходимым нам правилам.
Изучающие python, уверен, прекрасно знают модуль rnd для генерации. Но я, выполняя один учебный проект, наткнулся на интересную библиотеку faker, которая умеет генерировать не только числа, но и много всего интересного.
Вот простой пример использования этой библиотеки.
Сначала стандартная установка модуля:
pip install faker
А затем его использование:
from faker import Faker
fake = Faker('ru_RU')
print(fake.country())
print(fake.city_name())
print(fake.user_name())
print(fake.email())

И вот, вооружившись faker-ом и random-ом, я пошёл выполнять проект по генерации чеков продуктовых магазинов =)
О том, что у меня получилось, я расскажу в следующем посте.

@nullpp #Python #пропуски #генерация_данных
🔥6
Всем привет!
Наконец-то я занялся финальным проектом в своём обучении. Сначала создал БД и таблицы в ней для будущей выгрузки.
Написал на Python сбор данных от предоставленного API с последующей выгрузкой полученных данных в PostgreSQL.
Создал пока что первую страницу дашборда, которая должна дать общую картину состояния бизнеса, показать ключевые метрики и их динамику во времени. Это "дашборд для руководителя", который отвечает на вопрос "Как идут наши продажи в целом?"
Когда я доделаю всё, и работу оценят, я выложу исходники + ссылку на дашборд)

@nullpp #Python #PostgreSQL #Учеба
🔥9👍3
NULL++
Всем привет! Наконец-то я занялся финальным проектом в своём обучении. Сначала создал БД и таблицы в ней для будущей выгрузки. Написал на Python сбор данных от предоставленного API с последующей выгрузкой полученных данных в PostgreSQL. Создал пока что первую…
На прошлой неделе я доделал финальный проект и сдал его. Но пока что фидбэка не было)
А значит, я пока покажу вам скриншоты дашборда, как это выглядит. Я честно постарался, чтобы любое исследование по этим данным можно было провести прямо в DataLens. Такой подход, я считаю, показывает самодостаточность созданного дашборда для полноценного анализа ситуации и принятия решений.

@nullpp #Python #PostgreSQL #Учеба
🔥4
Всем привет!
Поделюсь небольшим, так сказать, успехом в учёбе на курсе Дата инженера.
Удалось собрать docker compose, где
Докер 1 с питоном, запускает скрипт по генерации данных, а затем записывает их в Докер 2, где крутится PostgreSQL. А затем Докер 3 отображает это через Nginx по localhost в виде простой таблички

@nullpp #генерация_данных #Python #docker #docker_compose #nginx
🔥4👏1
Всем привет!
Давно не было постов, да... Отдыхал, думал, снова учился... В общем то и писать пока что особо не о чём.
Год заканчивался тем, что мой голос совсем пропал, болело горло и я бесконечно чихал =)
Но уже к 3му января, я уже почти вернулся в норму и сейчас чувствую себя хорошо.
Сходил всей семьёй в кино... дважды... на русские фильмы... На Чебурашку 2 (вообще гадость) и Простоквашино (так плохо, что даже хорошо, ахаха). Видели цены??? Я ваще офигел от 450 руб за билет (а их мне надо 4 штуки)... И это на утренние сеансы. А по вечерам цены доходили до 2000 за билет...
А ещё, я не принял оффер, который мне был сделан. Моя чуйка сказала "не надо", а я ей как-то доверяю =) Может и зря, конечно, время покажет.
По учёбе я доделал проект по Apache Airflow: github.com/mishandri/airflow_project
И мне уже дали отличный фидбек на него. Если вкратце, то проект генерирует даг динамически на основе Python-словаря, лежащего в S3-хранилище. Это позволяет достаточно легко изменять работу дага без фактического изменения его кода.
Да, получилось, я считаю, очень интересно. Я постарался применить всё, чему меня научили + ещё кое-что, чего не было рассказано и было изучено самостоятельно.
И приступил к изучению PL/SQL, чтобы уметь писать всякие функции, триггеры, ветвления и циклы.
А у вас было что-то интересное за эти длинные выходные?

@nullpp #SQL #PostgreSQL #Python #Airflow #истории
👍3😁2🤔2
Всем привет!
Как я уже писал ранее, перед самым Новым годом я прошёл собес, и мне был сделан офер. Но я его не принял)
Теперь же, после праздников, я обновил своё резюме и активненько начал снова откликаться на вакансии.
И вот что я вижу - работодатели, мягко говоря, ахерели xD
Вот что должен уметь джун BI-аналитик? Ну ладно, не совсем джун (с небольшим опытом) или даже миддл?
Давайте я сначала напишу что я думаю сам, а потом допишу, что теперь хотят работодатели...

Итак, первое и самое основное:
1. SQL. Это уже, своего рода, обязаловка. SQL сейчас нужен всегда и везде. Что нужно на уверенном уровне:
- SELECT, WHERE, агрегации и GROUP BY, HAVING, ORDER BY, LIMIT
- JOIN'ы всех видов: INNER/LEFT как отче наш, RIGHT/FULL - по настроению =)
- Оконные функции и их применение (SUM, AVG, ROW_NUMBER), причём важно умение настраивать параметры самого окна.
Если этого минимума нет, то дальше и обсуждать нечего!
2. База BI-инструментов. Как быть BI-аналитиком и не знать BI-инструменты?)) Что нужно уметь:
- Подключиться к БД (например, PostgreSQL/Clickhouse)
- Создать датасет/витрину данных со всем нужными полями и вычислениями
- Понимать разницу между мерой и измерением (хотя в разных BI-системах названия могут отличаться, но суть остаётся прежней)
- Понимать какой чарт для каких целей лучше использовать
- Уметь настроить внешний вид чарта (цвета, толщина линий и тд
- Уметь правильно добавить фильтрации/селекторы и тому подобное и уметь настроить их влияние на различные чарты.
3. Немного продуктового мышления. А куда ж без него? Ты должен понимать хотя бы основные метрики того бизнеса, куда хочешь устроиться. Сюда же я отнесу умение получить чёткие ответы на вопросы:
- Для какой цели нужен дашборд?
- Кто будет пользоваться дашбордом?
- Что вы хотите видеть на дашборде (какие метрики, графики и тд)?
- Как это поможет принимать решения?

Это была всё база. Что будет плюсом к этому всему?
- Python. Не знаю как у вас, а меня уже питон выручил несколько раз.
- Git. Тоже очень полезная штука. Важно хотя бы базово понимать как он работает и не бояться его.
- Excel/GoogleSheets. Очень часто заказчик приносит свои данные в обычных табличках, где много всяких дынных и написаны какие-то формулы, которые помогут потом при создании витрины данных или при визуализации.

А теперь я напишу то, что я стал встречать в вакансиях "от 1 до 3 лет" опыта на hh.
- ML. Да, да, работодатель уже хочет, что бы его будущий работник умел "хотя бы" делать линейную регрессию, классификацию или кластеризацию. Про K-means пока не встречал, как и градиентный спуск, но кажется, что ещё полгода и будут требовать и их. Особенно интересуют работодателя проекты с временными рядами. То есть уже надо уметь использовать sklearn или pytorch
- T-SQL. Работодатель хочет, чтобы вы не просто SELECT'или, а создавали свои процедуры, функции и триггеры.
- Умение работать с S3-хранилищами,
- Использование кластеров YandexCloud
- Работа в Linux-окружении
- Понимание Docker/Docker Compose
- Даже видел, что в некоторых вакансиях хотят написание дагов Airflow.

Другими словами, очень много требований, которые вообще не относятся к BI, а больше относятся к DE или ML.
Вот такой вот получился пост (даже немного грустный, как по мне). Требования всё растут и растут, не успеваешь гнаться за ними).

@nullpp #SQL #Python #Airflow #работа #обсуждение
🤔6😢3