NULL++
159 subscribers
70 photos
3 files
28 links
Канал для тех, кто хочет развиваться как Data Analyst, Data Engineer, BI-Analyst или Data Scientist
@HexMikhail
Download Telegram
Всем привет!

Сейчас я занимаюсь в том числе тем, что делаю внутренний дашборд по продажам компании на Visiology. И я уже писал, что на прошлой неделе я начал делать чарт карты. Это было что-то с чем-то =)

В стандартных визуализациях Visiology отсутствует такой чарт, но в документации есть пример карты Москвы: можно сделать карту на базе OSM, чем я и воспользовался. Такие "самописные" чарты делаются с помощью JS, который я не особо-то хорошо знаю, но, воспользовавшись помощью нейросети, я сэкономил очень много времени.

Итак, по порядку.

Для начала, изучив пример из документации, необходимо было создать карту формата GeoJSON с нужными полигонами. На руках был csv-файлик от Яндекса с координатами регионов России, который я преобразовал в GeoJSON с помощью не очень сложного самописного скрипта на Python. Затем пришлось добавить несколько полигонов, которые относятся к соседним государствам, но в которых у нас уже были продажи.

Переписав код чарта из документации под свои нужды, я столкнулся с двумя проблемами:

1. Всплывающая подсказка выдавала очень скудную информацию. Пришлось открывать код страницы, выискивать, какие элементы и свойства за что отвечают. А когда нашёл, перечислил их нейросети и сказал, что нужно сформировать набор данных исходя из вот таких полей с такими-то данными. Сам бы я точно провозился несколько часов, но с нейросетью справился минут за 20.

2. Карта после изменения фильтров на дашборде становилась абсолютно статичной и неинтерактивной. С этим вопросом пришлось повозиться подольше: нейросеть всё пыталась исправить эту проблему полным обновлением страницы. Пришлось отложить решение этой проблемы на выходные и переключиться на другие задачи. И вот вчера я решил и эту проблему, совершенно случайно наткнувшись на статью, где рассказывалось, как обновить часть страницы, не обновляя её полностью. Я скопировал код страницы дашборда, закинул в ту же нейросеть и попросил найти часть кода, которая отвечает за обновление соседнего чарта. Получилось! Свойство было найдено, осталось только "прикрутить" его к чарту карты, что у меня успешно и получилось.

Осталось дело за малым: нужно пересмотреть источник данных и понять, почему не у всех продаж корректно определяется регион, но это уже совсем другая история =)

И вот с одной стороны - это так классно, что можно делать вещи, в которых ты слабо разбираешься. А с другой - если меня сейчас спросить, например, какое свойство отвечает за обновление отрисовки конкретного чарта, то я уже забыл и знать не знаю. Когда ты находишь информацию самостоятельно, пропускаешь её через себя, ты всё равно запоминаешь её. И внезапно я задумался о том, что нейросети могут очень сильно помогать нам, но при этом мы перестаём запоминать, как и что делать.

А что думаете вы: мешают ли нейросети нам запоминать такие вещи?

П.С. В комментах скинул скрин, где видна всплывающая подсказка

@nullpp #работа #нейросети
👏5
Всем привет!
Сегодня будет совсем небольшой пост.
А я вот на самом деле уже второй день в отпуске! =)
Мой первый отпуск на этой работе. Хоть и небольшой, но очень долгожданный.
А вообще, почитав новости, я что-то совсем уже опускаю руки...
Потратил сегодня некоторое количество времени и переделал своё резюме на английский язык, чтобы попробовать податься в зарубежные компании.
Понимаю, что будет очень тяжело, но что делать?
Если кто знает какие подходящие вакансии, то очень прошу написать в мне личку)

П.С. Количество подписчиков канала растёт, а просмотры упали в разы =(
🤔5👍3😢2
Всем привет!
Ну что ребятки?
Третий сезон серия сериала "Как сменить работу без регистрации и смс" официально завершён. Мне вчера скинули в электронном виде третий диплом по инженерии данных. Теперь я могу себя смело называть fullstack-аналитиком. Звучит солидно, если не знать, что чуть больше года назад я с трудом понимал, чем вообще хочу заниматься.
Кстати, четвёртый и пятый сезон сериала уже в продакшене XD

@nullpp #работа #учеба #истории #диплом
🔥12
Всем привет!
Решил запилить своё резюме + портфолио в простом формате на гитхаб.ио
Всё делается в формате md и выглядит достаточно неплохо, как мне кажется =)
Посмотреть можно тут: https://mishandri.github.io/
🔥5👍3
Всем привет!
Наткнулся на интересный пост, в котором утверждается, что можно ускорить работу Pandas заменив всего лишь одну строку!!!
Было
import pandas as pd  

Стало
import fireducks.pandas as pd

https://habr.com/ru/companies/ozontech/articles/1005590/

Кто-нибудь пробовал? 🤔

#pandas #python
🤔4👍1🔥1
Всем привет! Ранее я писал (https://t.me/nullpp/39), что использовал хостинг Beget для выполнения своего итогового проекта по учёбе. И в общем-то меня всё устраивало. 9,73₽ в день - это примерно 300₽ в месяц.
Мне приходило письмо от них, что цена изменится. Но ТАКОГО я не ожидал.
Сейчас тот же самый хостинг предлагается за 25,04₽ в день, и теперь требуется оплачивать IP-адрес отдельно за +5₽ в день.
В итоге платить в 3 раза больше за услугу, которой почти не пользуешься, — так себе удовольствие. Придётся либо переезжать, либо забить.
Кто что посоветует из дешёвых и надёжных хостингов для маленьких учебных проектов?

@nullpp #хостинг #beget #цены #учёба #итоговыйпроект
👀3🤔1💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!
Наткнулся на мем, который буквально приключился со мной совсем недавно 😄
Сейчас делаю витрину данных для аналитики крупного банка. Так как у них своя BI, и там будут работать внутренние специалисты, то задача такая: 5 серверов → 6 разных баз 1С → настроить выгрузки с расписанием в Экстракторе1С → залить их в таблицы ClickHouse ("Остатки" и "Обороты" - типичная бухгалтерия, ага) → слить их в одну витрину данных.
Но у каждой базы свои условия: одни операции учитывать, других контрагентов исключать, взять только операции ~~ '%процент%' и т.д.
И вот…
Работа поэтапная. Сделал на первом сервере - всё работает, цифры бьются. Закончил день, ужинаю. И тут осознаю: есть ошибка, которая вылезет позже при определённых условиях. Пошёл исправлять😆
Ночью просыпаюсь и понимаю: код можно оптимизировать, объединив кучу условий в CASE.
Но сон превыше всего! Короче, на утро переписал всю вьюшку. И никто об этом не узнал, кроме меня.
Так что я вполне понимаю разработчиков.

@nullpp #работа #истории #мемы #clickhouse
😁4💯1
NULL++
Всем привет!
Кстати, в канале появилась возможность написать мне лично, если вы не хотите писать под постами на всеобщее обозрение =)
Сообщения сделал бесплатными (надеюсь, что это получилось, надо потетсить), так как сейчас основная задача канала - делиться своими мыслями и опытом =)
🔥2
Шпаргалка SQL.pdf
201 KB
Всем привет!
Решил я тут сделать себе небольшую шпаргалку - ну, знаете, чтобы быстро вспомнить всякие рабочие моменты, когда голова уже не варит. На память особо не жалуюсь, а постоянное гугление одних и тех же вещей бесит.
Начал, конечно, с #SQL. Куда ж без него. Это база, на которой всё держится, но нужно помнить, что это лишь для повторения, то есть вы уже должны это знать =)
Собрал самое основное:
- Фильтрации
- Агрегации
- JOIN'ы
- Подзапросы
- Обновление / вставка / удаление записей
- Оконочки
- Права доступа
В общем, качайте файл и повторяйте! Материал пригодится всем!

Если понравилось, ставь реакцию. А я пока готовлю аналогичную шпаргалку по Python

@nullpp #полезное #обучение
9🔥8
Всем привет!
Дело в том, что просмотры сильно просели из-за блокировки ТГ. Если посмотреть на посты раньше, то там было и 150-160 просмотров, а вот у последнего поста лишь 38 на данный момент.
И вот у меня есть вопрос к вам, моей аудитории: как можно продвигать свой канал?
Или может стоит дублировать посты куда-нибудь в сообщество ВК (хотя там не хочется, если честно)?
Очень жду комментариев и предложений =)

П.С. шпаргалка по Python Часть 1 уже почти готова))

@nullpp #вопрос
🤔4🤷‍♀1
Шпаргалка Python. Часть 1. Основы.pdf
327.9 KB
Всем привет!
Как я и обещал, выкладываю ещё одну шпаргалку, но теперь уже для #Python.
Что в неё вошло:
- Типы данных
- Циклы
- Условия
- Функции
- Классы
- Работа со строками
- Работа с файлами
- Обработка исключений
Вспоминаем, повторяем!
А я планирую сделать ещё шпаргалку по Python, но уже для обработки данных DS и немного ML захвачу

@nullpp #полезное #обучение
🔥115👍1
Всем привет!
В чатике, где я обучаюсь, @axdtor выкатил полезную штуку, которой я хочу поделиться.
Спасибо ему за такую полезную информацию =)

Как поставить Python-библиотеки без интернета
Вариант 1 - скачать все зависимости из requirements.txt на компьютере с интернетом:
pip freeze > requirements.txt
mkdir OffLine_libs
pip download -r requirements.txt -d OffLine_libs

В итоге появятся:
requirements.txt
OffLine_libs/

Их нужно скопировать на рабочий компьютер без интернета. На рабочем компьютере:
python -m venv .venv
.venv\Scripts\activate
pip install --no-index --find-links=OffLine_libs -r requirements.txt

Что значат параметры:
--no-index не ходить в интернет
--find-links=OffLine_libs искать пакеты в локальной папке


Вариант 2 - скачать конкретные библиотеки на компьютере с интернетом:
mkdir OffLine_libs
pip download pandas geopandas matplotlib shapely pyogrio pyproj -d OffLine_libs

Потом перенести папку OffLine_libs на рабочий компьютер.
На рабочем компьютере:
python -m venv .venv
.venv\Scripts\activate
pip install --no-index --find-links=OffLine_libs pandas geopandas matplotlib
shapely pyogrio pyproj

Для работы с GeoPandas можно заранее скачать такой набор:
pip download geopandas matplotlib pyogrio shapely pyproj fiona -d OffLine_libs


@nullpp #полезное #python #библиотеки
🔥3
Всем привет!
Бывало у вас, что запрос выполняется очень долго? Что же с ним можно сделать? Конечно, попытаться оптимизировать!
Один из главных способов оптимизации - это изучить план запроса и посмотреть, что в запросе работает медленно.

Типичный процесс оптимизации выглядит как-то так:
-- 1. Медленный запрос
EXPLAIN ANALYZE SELECT ...; -- смотрим: видим Seq Scan и large actual time
-- 2. Создаём индекс
CREATE INDEX idx_xxx ON table(column);
-- 3. Обновляем статистику
ANALYZE table;
-- 4. Проверяем
EXPLAIN ANALYZE SELECT ...; -- должно стать Index Scan + время упало


Создал карточки с более подробной информацией.
Изучай, сохраняй себе!

@nullpp #SQL #оптимизация #PostgreSQL
🔥3🤷1
Шпаргалка Python. Часть 2. DS-ML.pdf
295.6 KB
Всем привет!
А вот и подоспела шпаргалка #Python для DS/ML.
Что в неё вошло:
- Немного NumPy
- Работа с датафреймами в Pandas
- Предобработка данных
- Метрики качества
- Кратко об основных ML-моделях
- Совсем немного про пайплайны
Вспоминаем, повторяем!

А если понравилось, то ставь реакцию =) А то их совсем мало стало xD
🔥9
Всем ещё раз привет!
Хотел создать группу в ВК, но адрес vk.com/nullpp какой-то нехороший человек занял... интересно даже кто)))
Поэтому создал только канал в сообщениях ВК.
https://vk.com/im/channels/-238438764
Заходим, подписываемся, распространяем всем подряд XD
👏2
Всем привет!
Наконец-то образовательный контент подъехал!
Хочу устроить решение задач по SQL в прямом эфире. Нашёл много тестовых задач с собеседований. Правда большинство из них спрятаны под Премиум-подпиской портала. Но всё же можно что-то да порешать.
Когда? Думаю либо завтра (08.05) примерно в 19:00, либо в воскресенье (10.05) тоже примерно в 19:00.
Ставь под постом
🔥, если тебе удобнее 08.05 и
⚡️, если удобнее в 10.05.
11🔥2
Live stream scheduled for