cookie

نحن نستخدم ملفات تعريف الارتباط لتحسين تجربة التصفح الخاصة بك. بالنقر على "قبول الكل"، أنت توافق على استخدام ملفات تعريف الارتباط.

avatar

Мир аналитика данных

Пишу о рабочих буднях и о том как я сменила профессию Автор канала: @Valeria_Shuvaeva

إظهار المزيد
مشاركات الإعلانات
3 572
المشتركون
+324 ساعات
-17 أيام
+1930 أيام

جاري تحميل البيانات...

معدل نمو المشترك

جاري تحميل البيانات...

Меня попросили поделиться важной информацией, и я с радостью это делаю. Это для студентов и недавних выпускников. Жаль, что в мое время таких возможностей для молодых не было. Так что не упустите шанс: вас ждут ярмарка вакансий и полезные воркшопы.
إظهار الكل...
🥰 1
Photo unavailableShow in Telegram
Форум молодых лидеров ждёт тебя! ⚡️Ура-ура! Спустя полтора года мы возвращаемся и приглашаем тебя 5-6 октября в Москву на YouLead 2024 Сейчас расскажем основные моменты, которые ждут тебя у нас на форуме: 🧡 Общение с лидерами мнений и экспертами в своих областях: у нас выступали Саша Жаркова, Игорь Манн, Катерина Ленгольд и др. 💙 Возможность попасть на стажировку в топовую компанию: тебе откроются двери в Unilever, Ашан, Mars, СИБУР и другие компании 🧡 Судьбоносные знакомства: форум объединит самых активных и перспективных ребят со всей страны 💙 Возможность лучше узнать себя, найти путь дальнейшего развития, получить практические знания о построении карьеры Ты готов реализовать лидерский потенциал и стать автором изменений своей жизни? Тогда заходи на сайт и регистрируйся по ссылке: https://youleadforum.ru/ Важно: каждому желающему предстоит пройти отбор, поэтому удели особое внимание заполнению формы регистрации!
إظهار الكل...
🔥 1
Про прокрастинацию и баланс в жизни 🧠💪 Когда работаешь аналитиком данных 📊, кажется, что учёба и саморазвитие — это неотъемлемая часть успеха. Постоянно хочется освоить что-то новое, улучшить свои навыки, но... в какой-то момент понимаешь, что усталость берёт своё 😩. Домашние дела 🧹, семейные заботы 👨‍👩‍👧‍👦, домашка с детьми-школьниками, и несколько человек в менторстве — всё это отнимает много сил. И вот тут появляется прокрастинация 🕰. Не потому что неинтересно, а потому что тело и разум просто требуют передышки 🛌. И знаете, я пришла к выводу: нельзя постоянно «пахать» 💼. Наш организм подаёт сигнал, что ему нужен отдых, и это важно уважать. Если хочется замедлиться 🧘‍♀️ — нужно дать себе такую возможность. Отдых — это тоже часть пути к продуктивности ⚡️ Недавно я даже решилась на шаг вперёд: записалась в фитнес-клуб 🏋️‍♀️. Теперь забочусь не только о своём уме 🧠, но и о теле 💪. Ведь в гармонии важен баланс ⚖️ — между физическим, эмоциональным и интеллектуальным развитием. Помните, заботиться о себе — это не лень, а необходимость ❤️. И вот, пишу это всё в пятницу 13-го 🌘 — не знаю, совпадение это или знак, но кажется, что сегодня именно тот день, когда стоит притормозить, оглянуться вокруг и просто насладиться тем, что уже удалось достичь.
إظهار الكل...
34👍 13🔥 5🥰 1
Photo unavailableShow in Telegram
Лето прошло, и кажется, все уже поплакали по этому поводу. Но кто бы мог подумать, что Notion тоже оставит нас в печали? С 9 сентября сервис прекратит работу для пользователей из России. Это настоящее разочарование. 😭 Вся мои заметки, ссылки и курсы хранятся там, и теперь я в поисках альтернативы. После долгих поисков наткнулась на Yonote.ru. Это не реклама, а просто находка, которая поможет заменить Notion. Конечно, можно использовать VPN, но иногда хочется работать без лишних танцев с бубном. Что делать дальше? ✅ Экспорт данных: Первое и самое важное — экспортируйте свои заметки из Notion. Это можно сделать как для отдельных страниц, так и для всего аккаунта. Резервные копии — залог спокойствия. ✅ Ожидание: Посмотрим, что произойдет после 9 сентября. Пока нет полной ясности, как именно будут ограничивать доступ: всех ли пользователей, только платных, или же по IP. Но, почти наверняка, даже в худшем случае, сервис будет доступен через VPN. Но стоит ли это усилий? Каждый решает сам. ✅ Аналоги: Есть несколько российских вариантов: ✔️ Яндекс Заметки — для простых записей, если не нужны сложные структуры: ссылка ✔️ Заметки Mail.ru — с недавним добавлением тегов можно разделять записи по темам: ссылка Для более сложных задач: ✔️ Yonote.ru — организация, планирование, управление знаниями. ✔️ Teamly.ru — платформа для совместной работы и управления знаниями ✔️ Weeek.net — задачи, база знаний, CRM, аналитика и многое другое Каждый решает сам, что выбрать. Главное — быть готовым к изменениям и действовать заранее. 👩‍💻 А вы чем пользуетесь, кстати?
إظهار الكل...
🔥 10👍 2🤨 1
Photo unavailableShow in Telegram
Освой аналитику данных, обучаясь на кейсах из реального бизнеса 💻 Тут ты не просто научишься аналитике — а будешь выполнять задачи, равноценные стажировкам для начинающих аналитиков! 👆Мы подберём персональный трек обучения под твои цели — устроиться в крупную IT-компанию или релоцироваться. А ещё поможем с прохождением собеседований 👆87% наших учеников находят работу. за 2 месяца. Наши выпускники работают в Т-Банке, Сбере, Авито, Яндексе, Skyeng, Ozon и других топовых компаниях По итогам курса ты сформируешь готовое портфолио (такого не будет ни у кого больше). Уникальное оформление и максимально прикладные задачи из разных сфер бизнеса. Это всё невозможно сгуглить или найти на Хабре ((: Обучайся в комфортном темпе: доступ к материалам останется у тебя НАВСЕГДА! Ты ещё успеваешь начать обучение с текущим потоком🔥 Оставляй заявку на сайте и получи 10% скидку по промокоду ANALITIK.
إظهار الكل...
👍 5😢 2❤‍🔥 1
Photo unavailableShow in Telegram
Как правильно выбирать топ-клиентов с прерываемыми индексами? Сперва кажется, что за бред про прерываемые индексы? Сейчас расскажу где можно ошибиться 😜 А кто не ошибается, тот не работает! Главное вовремя понять, что тут что-то не то. 💡 Итак, задача: У нас есть список клиентов и их годовые обороты. Мы хотим отфильтровать тех, у кого оборот, допустим, больше 1 миллиона, отсортировать их по убыванию и выбрать топ-3 самых крупных клиентов. Создадим данные для наглядности:
import pandas as pd
# Создаем исходный DataFrame
data = {
    'client_id': [101, 102, 103, 104, 105],
    'client_name': ['Client A', 'Client B', 'Client C', 'Client D', 'Client E'],
    'turnover': [1200000, 500000, 1500000, 2000000, 3000000]
}
df = pd.DataFrame(data)
📋 Шаг 1: Фильтрация и сортировка клиентов Сначала отфильтруем клиентов с оборотом более 1 миллиона и отсортируем их по обороту от большего к меньшему:
filtered_df = df[df['turnover'] > 1000000].sort_values('turnover', ascending=False)
Теперь у нас есть DataFrame с клиентами, у которых оборот превышает 1 миллион, отсортированный по убыванию 🚫 Ошибка: Что будет, если для выбора топ-3 теперь использовать .loc?
incorrect_top_3 = filtered_df.loc[:3]
Метод .loc[:3] пытается выбрать строки с индексами 0, 1, 2, 3. Однако, после фильтрации и сортировки, индексы строк изменились, и это приведет к выбору не тех строк! ✅ Правильный подход: Используем .iloc, чтобы выбрать первые 3 строки по их позициям:
correct_top_3 = filtered_df.iloc[:3]
С помощью .iloc мы гарантированно получаем топ-3 клиента по их позициям в отсортированном DataFrame, игнорируя индексы. ✨ Вывод: Используйте .iloc для выбора строк по позициям, особенно после фильтрации, группировки или сортировки данных, когда индексы идут не подряд. Тогда результат действительно будет топовым! 🤪
إظهار الكل...
👍 29❤‍🔥 4😴 1
Photo unavailableShow in Telegram
Посчитаете LTV даже во сне? Создайте курс для Яндекс Практикума! Яндекс Практикум — сервис онлайн-образования, где можно получить актуальную цифровую профессию, например, продуктового аналитика. Помогите нам создать достойный обучающий контент для студентов! Что делает автор курса? Разрабатывает уроки, тесты, чек-листы, а если шире, то его задача так упаковать свой опыт, чтобы заинтересовать, объяснять и мотивировать. Почему это интересно практикам? Вы влияете на индустрию, получаете статус эксперта и дополнительный доход. Нагрузка — 10 часов в неделю, удалёнка и команда, с которой некогда скучать. Кто подойдёт? Продуктовый аналитик, который уже более 3 лет в профессии и чувствует непреодолимое желание делиться своими знаниями. Подробности здесь Ждём ваших откликов!
إظهار الكل...
4😁 3👍 1
Photo unavailableShow in Telegram
✨ Мечты сбываются! ✨ Друзья, рада поделиться отличной новостью! Мой модуль по аналитике уже опубликован в курсе SkillFactory "IT-специалист с нуля"! 🥳 Ранее я делилась с вами, что работаю над этим курсом, вот тут. Создание курса оказалось нелегким испытанием (особенно совмещение с основной работой), но очень интересным процессом. Я полностью уверена в том, что каждый, кто его пройдет, получит максимум знаний и навыков. Я вложила в него все, что было возможно, и спокойна за ваши результаты! 🚀 Мой модуль является частью большого IT-курса, где каждый раздел помогает изучить различные IT-профессии и выбрать свой путь в мире технологий! 👨‍💻
إظهار الكل...
🔥 41❤‍🔥 6 5🤡 2
Photo unavailableShow in Telegram
📊 Анализ данных: Извлечение доменов почт клиентов 📊 Привет, друзья! Меня на днях попросили проанализировать домены почт у клиента если сможем.✉️ Цитата:
Типа такого: яндекс - 1,2 млн / 15% мейл.ру - …. гугл
Я ответила, что можем и полезла в базу пошла за кофе. Покажу решение на примере SQL-запроса и Python кода. 📜 SQL-запрос Для начала я использую SQL-запрос, чтобы извлечь домены почт из базы данных:
query = ""
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(email, '@', -1), '.', 1) AS mail_type, COUNT(*) 
FROM user.user 
WHERE client_id = 1000
AND type = 'user' 
GROUP BY 1
"""
users = pd.read_sql(query, connection)
Этот запрос выполняет следующие действия: ✔️SUBSTRING_INDEX(SUBSTRING_INDEX(email, '@', -1), '.', 1) - SUBSTRING_INDEX(email, '@', -1) извлекает часть строки после символа @ (то есть домен почты). - SUBSTRING_INDEX(..., '.', 1) затем извлекает часть строки до первой точки в домене, чтобы получить тип почты. Таким образом, если email выглядит как [email protected], результат будет mail. Если email выглядит как [email protected], результат будет yandex. ✔️COUNT(*) — считает количество пользователей с каждым доменом. ✔️WHERE client_id = 1000 AND type = 'user' — фильтрует данные по определённому аккаунту и типу пользователя. ✔️GROUP BY 1 — группирует результаты по домену. 💻 Python код После получения данных из SQL-запроса, мы используем Python для дальнейшей обработки. В целом можно и в SQL написать было, но базе и так тяжело, не стала нагружать ее подзапросами.
import pandas as pd
#Сортировка данных по количеству пользователей в порядке убывания
users_sorted = users.sort_values('count(*)', ascending=False)

# Подсчёт общего количества пользователей
total_count = users_sorted['count(*)'].sum()

# Расчёт процента для каждого домена
users_sorted['percentage'] = (users_sorted['count(*)'] / total_count) * 100
P.S. Функция SUBSTRING_INDEX используется в MySQL и не поддерживается PostgreSQL. В PostgreSQL для аналогичной задачи нужно использовать
split_part(split_part(email, '@', 2), '.', 1) AS mail_type
Цифра 2 в функции split_part(email, '@', 2) указывает на то, что мы хотим получить вторую часть строки, разделённую символом '@'. Мы разделяем email на две части: до символа '@' и после него. Нам нужна часть, идущая после символа '@', то есть домен почты. 📝 Результаты После выполнения этого кода мы получаем таблицу, отсортированную по количеству пользователей для каждого домена, с процентным значением. Теперь понятно какие почтовые домены наиболее популярны среди пользователей. ✉️
إظهار الكل...
👍 28 4
📊 ⚡️Хитрая задачка с работы. Возвращение. 📊 👨‍💻Наконец удалось выкроить время, чтобы поэкспериментировать с этой хитрой задачей, и теперь у меня есть решение, которое не использует циклы! Всё сделано исключительно с помощью Pandas! Давайте разберем его пошагово: 1️⃣Генерация данных как и в прошлый раз💾 Здесь мы создаем список словарей, где каждый словарь содержит client_id и строку value с информацией о рассрочках.
import pandas as pd

data = [
    {  'client_id': 111,
        'value': 'installment_0_0_3_7,59 Срок рассрочки 3 мес.'
                 'installment_0_0_4_8,42 Срок рассрочки 4 мес.'
                 'installment_0_0_6_10,84 Срок рассрочки 6 мес.'
    },
    {
        'client_id': 222,
        'value': 'installment_0_0_3_4,93 Срок рассрочки 3 мес.'
    },
    {
        'client_id': 333,
        'value': 'installment_0_0_4_5,64 Срок рассрочки 4 мес.'
                 'installment_0_0_6_6,05 Срок рассрочки 6 мес.'
    },
    {
        'client_id': 444,
        'value': 'installment_0_0_3_7,78 Срок рассрочки 3 мес.'
                 'installment_0_0_6_9,60 Срок рассрочки 6 мес.'
    },
    {
        'client_id': 555,
        'value': 'installment_0_0_4_8,57 Срок рассрочки 4 мес.'
                 'installment_0_0_6_8 Срок рассрочки 6 мес.'
    }
]
df = pd.DataFrame(data)
2️⃣Извлечение данных (сроков рассрочки и ставок из строки value) с использованием регулярного выражения 🔍
extracted = df.set_index('client_id')['value'].str.extractall(r'installment_0_0_(\d+)_([\d,]+)')
extracted = extracted.reset_index(level=1, drop=True).reset_index()
extracted.columns = ['client_id', 'term', 'rate']
3️⃣ Преобразование данных в нужный формат 🔄 Преобразуем строковые значения в числовой формат и добавляем текстовое описание к срокам рассрочки.
extracted['rate'] = extracted['rate'].str.replace(',', '.').astype(float)
extracted['term'] = 'Срок рассрочки ' + extracted['term'] + ' мес.'
4️⃣Определение условий фильтрации 🕵️‍♂️ Задаем условия для фильтрации данных по срокам рассрочки и максимальным допустимым ставкам.
conditions = {
    "Срок рассрочки 3 мес.": 5.93,
    "Срок рассрочки 4 мес.": 6.64,
    "Срок рассрочки 6 мес.": 7.05
}
5️⃣Фильтрация данных 📊
filtered_df = extracted[extracted.apply(
    lambda row: row['term'] in conditions and row['rate'] <= conditions[row['term']], axis=1
)]
📎 Вот ссылка на обновленный Jupyter Notebook. В нём вы найдёте ещё дополнительные варианты решения, которые прислал Дмитрий в комментариях. Спасибо ему за это! 🙂
إظهار الكل...
🔥 16👍 2 1
اختر خطة مختلفة

تسمح خطتك الحالية بتحليلات لما لا يزيد عن 5 قنوات. للحصول على المزيد، يُرجى اختيار خطة مختلفة.