🧠 Групповое занятие по "Исследованию данных".
Набираю группу, которая хочет провести часок-другой за исследованием данных)
🖥 Как будет проходить занятие:
1. Заранее пришлю ecomm-датасет и тетрадку с небольшой теорией и набором заданий/вопросов
2. Вы решаете, гуглите, отвечаете на вопросы
3. Собираемся группой из 2-4 учеников и обсуждаем все вопросы и решение. Если будут дополнительные вопросы - готова так же ответить, если останется время
🖥 Уровень:
Начальный. Подойдет, если вам нужно структурировать знания по первичному исследованию и/или у вас есть вопросы по этой теме. Или вы вообще об этом никогда не слышали
🖥 Когда:
28.01.2024 (вск) 15:00 МСК (если наберется хотя бы 2 человека)
04.02.2024 (вск) 20:00 МСК
🖥 Продолжительность:
1-1,5 часа
🤑 Стоимость
• В группе: 2 500 р.
• При личной работе со мной: 3 500 р.
Оплата до старта занятия. Если группа не наберется: верну деньги или предложу апгрейднуть тариф и поработать лично😁
✍️ Пишите @IyaZotova
Набираю группу, которая хочет провести часок-другой за исследованием данных)
1. Заранее пришлю ecomm-датасет и тетрадку с небольшой теорией и набором заданий/вопросов
2. Вы решаете, гуглите, отвечаете на вопросы
3. Собираемся группой из 2-4 учеников и обсуждаем все вопросы и решение. Если будут дополнительные вопросы - готова так же ответить, если останется время
Начальный. Подойдет, если вам нужно структурировать знания по первичному исследованию и/или у вас есть вопросы по этой теме. Или вы вообще об этом никогда не слышали
28.01.2024 (вск) 15:00 МСК (если наберется хотя бы 2 человека)
04.02.2024 (вск) 20:00 МСК
1-1,5 часа
• В группе: 2 500 р.
• При личной работе со мной: 3 500 р.
Оплата до старта занятия. Если группа не наберется: верну деньги или предложу апгрейднуть тариф и поработать лично😁
✍️ Пишите @IyaZotova
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤔3🤨1
У нас есть DataFrame, в котором хранятся ячейки со строками вида:
sd-website-_-yandex-_-organic-_--_-переход на самозанятость-_-
Так передается информация об источниках из веба в мобилку
# Создадим пример таких данных
df = pd.DataFrame({'dt': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'],
'source': ['sd-website-_-yandex-_-cpc-_-svoedelo_corporate_perform_god_20220100017_context_search_registration_general_rus_mob|6...',
'sd-website-_-yandex-_-cpc-_-svoedelo_corporate_perform_god_20220100017_context_search_registration_general_rus_mob|6...',
'sd-website-_-yandex-_-organic-_--_--_-',
'sd-website-_-yandex-_-organic-_--_-переход на самозанятость-_-',
'sd-website-_-yandex-_-organic-_--_-самозанятый стать-_-_y_1623381085233722262_d_c54f1823-3b1b-47fa-8739-4fcd5025fffe...'],
})
Простой способ быстро раскидать данные по разделителю:
df[['1', '2', '3', '4', '5', '6']] = df['source'].apply(lambda x: pd.Series(x.split('-_-')))А теперь, внимание, вопрос.
Как преобразовать этот метод так, чтобы он работал на незаполненных ячейках или ячейках в которых написано 'organic' и ничего не потерять?
Какие ещё ограничения/неудобства видите и как бы их решали?
✍️Пишите решения в комментах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤔1
Направление мысли хорошее, но недостаточное👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Chat AI Bot - Chat GPT 5 | Nano Banana | Perplexity | Claude
Для разделения строки по колонкам с разным количеством элементов можно использовать условный оператор или цикл. Например, можно проверить количество элементов в строке и разделить ее соответственно.
Пример кода:
В этом примере функция
Пример кода:
def split_column(row):
elements = row.split('-_-')
if len(elements) == 4:
return pd.Series(elements)
elif len(elements) == 3:
return pd.Series([np.nan] + elements)
elif len(elements) == 2:
return pd.Series([np.nan, np.nan] + elements)
elif len(elements) == 1:
return pd.Series([np.nan, np.nan, np.nan, np.nan, elements[0]])
df[['1', '2', '3', '4', '5', '6']] = df['source'].apply(split_column)
В этом примере функция
split_column разделяет строку на элементы и возвращает их в виде объекта pd.Series. В зависимости от количества элементов в строке, функция заполняет пробелами (np.nan) недостающие столбцы.🤷♂1👍1
Гость: Алексей Яцына, Middle Data Analyst, Сбер
Алексей в интервью поделится:
• Как продал
• Как профессия следователя пересекается с аналитиком данных
• Какие курсы на аналитика прошел и какие оказались лучше. Карпов vs Я.Практикум
• Про стажировку и почему отказался от нее
• Почему нравится ходить по собесам и про первую работу в банке
• Про карьерный трек аналитка и куда хочет двигаться дальше
https://youtu.be/znR94HAbf9s
✅ Подписывайтесь на наши каналы:
• Ия, Team Lead DA: https://news.1rj.ru/str/Lady_Analyst
• Евгений, DE: https://news.1rj.ru/str/halltape_data
Если было полезно, весело, то поддержите наш канал донатами:
💲 https://pay.mysbertips.ru/92484472
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
DATA АНАЛИТИК: Следователь продал авто и стал аналитиком | Войти в IT | Интервью с Middle DA
Гость: Алексей Яцына, Middle Data Analyst
Алексей в интервью поделится:
• Как продал свой Феррари и перешел из следователя в аналитики
• Как профессия следователя пересекается с аналитиком данных
• Какие курсы на аналитика прошел и какие оказались лучше…
Алексей в интервью поделится:
• Как продал свой Феррари и перешел из следователя в аналитики
• Как профессия следователя пересекается с аналитиком данных
• Какие курсы на аналитика прошел и какие оказались лучше…
🔥18❤5 3🤷1
Audio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Вот попал впервые к вам в руки датасет, вы его загрузили и погнали исследовать, графики строить, задание выполнять. В лучшем случае
df.describe() написали.Это плохо. Особенно для тестового задания.
Если в больших компаниях многое автоматизировано, минимум ручного труда и, следовательно, данные более структурированы и хранятся без ошибок🦄, то в тестовых заданиях для вас могли подготовить набор подводных камней. И ошибки при работе с этими камнями у всех примерно одни и те же:
1. Загрузили датафрейм и не проверили, что лежит в столбцах. Числа - обжект, даты зафакапились, в категориях неявные дубликаты и ошибки в нейминге.
У меня в самом начале как-то встретился кейс с ИНН. Когда данные грузили в панду, то поле с ИНН интерпретировалось как число и все ИНН, которые начинались с 0 или 00, преобразовались в числа без первых нулей, а я долго не могла найти причины возникновения невероятных ИНН в 11 и 9 символов
2. После преобразования подозрительных чисел-обжектов не проверили результат.
Так, например, в одном тестовом датасете из-за преобразования терялось 90% данных о деньгах, а решающие это задание, в ус не дули и выбросы там ещё искали.
Преобразовали? Проверьте, что у вас ничего не потерялось. Это касается не только чисел, но и в принципе любых преобразований на данными
3. Дубликаты не проверяем.
Или проверяем, но бездумно.
Так, например, встречались кейсы, когда при загрузке датафрейма в нем находился неименнованный столбец в виде старых лишних индексов, который вероятно будет мешать вам найти дубли.
Включайте голову, задавайте себе вопрос: я точно вижу все дубли? И могут ли они тут быть? И точно ли это дубли?
Советую так же смотреть дубли по идентификаторам (например, user_id, product_id, id и т.п.), но голову не отключать, конечно, не все айди одинаково полезны😁
В любом случае, если сейчас все непонятно, то знайте, что все эти моменты приходят с опытом.
✍ Пишите в комментах, с какими приколами в данных сами сталкивались?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18 5👍4
Forwarded from Grigoriy
Первая ссылка после поиска: https://www.datalytics.ru/all/kak-v-pandas-razbit-kolonku-na-neskolko-kolonok/
Ну или как я бы решил, если уж в pandas:
Ну или как я бы решил, если уж в pandas:
# Максимальное число столбцов:
# s - разделитель на подстроки
s = '-_-'
cols_x_max = df['source'].str.split(s)
x_max = cols_x_max.str.len().max()
# Новые столбцы:
new_columns = [str(i) for i in range(1, x_max+1)]
def split_columns(x: str, x_max: int, s: str) -> list:
'''
Разбиваем строку на подстроки
:param x: строка
:param x_max: максимальное количество подстрок
:param s: символ - разделитель
:return: подстроки
'''
x = str(x)
y = x.split(s)
y = y + [None]*(x_max - len(y))
return y
cols = df['source'].apply(lambda x: split_columns(x=x, x_max=x_max, s=s))
df = pd.concat([df, pd.DataFrame(list(cols), columns=new_columns)], axis=1)
www.datalytics.ru
Как в Pandas разбить одну колонку на несколько
Решил начать рассматривать нетривиальные кейсы в Pandas, с которыми иногда сталкиваюсь при работе с данными
👍4
Хорошее решение на задачу выше👆Спасибо, что решаете, делитесь, это радостно!💚
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Да-да, мы планируем запись интервью с Алексеем😎 и хотим поговорить про AI/ML, которое всех заменит, про продуктовую аналитику, про джунов и конференцию, но может есть что-то, что интересно именно вам?
Не стесняйтесь, делитесь в комментариях и самые интересные или горячие🔥 вопросы возьмем работу 🎬
P.S.: Алексей основатель масштабных конференций для аналитиков (МатеМаркетинг, Аha!)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥7
🧠Цифровая амнезия или почему не надо расчитывать на "все можно загуглить"
Пробую новые форматы, буду рада обратной связи💚
https://youtu.be/H8xJzgNiOqY
Пробую новые форматы, буду рада обратной связи
https://youtu.be/H8xJzgNiOqY
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Цифровая амнезия: тренд с 2000х
Короткий подкаст про экзо-память и цифровую амнезию
🔥8❤1
Просто оставлю это здесь🥰
Если кто-то из моих менти хочет ещё оставить обратную связь или рассказать как у вас дела, то пишите в комментах, мне будет приятно💚
#обратная_связь
Если кто-то из моих менти хочет ещё оставить обратную связь или рассказать как у вас дела, то пишите в комментах, мне будет приятно
#обратная_связь
Please open Telegram to view this post
VIEW IN TELEGRAM
Поговорили, мне кажется, про все: и про аналитику, и про джунов, и про конференции, и про будущее с ИИ и даже про космос😂. Я надеюсь, что вы ждёте этого выпуска и вам он будет полезен.
Лёша и Саша невероятные люди, интервью получилось тёплым и ламповым🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37 4
Но в данных затесались проблемки. Свойства товаров хранятся в бд в виде структуры (см. скрин). А в пандас эта структура загружается как строка.
Преобразуйте строку свойств в удобный для исследования формат (выберите на свой взгляд). Если хотите, то можете поделиться почему именно такой. Какие ещё решения вы видите?
Для удобства можете взять пример:
"[{'Style Code': '1005COMBO2'}, {'Closure': 'Elastic'}, {'Pockets': 'Side Pockets'}, {'Fabric': 'Cotton Blend'}, {'Pattern': 'Solid'}, {'Color': 'Multicolor'}]"
✍Решения пишите в комментыPlease open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Госпожа аналитик 💚 Ия Зотова
Это просто задача для того чтобы ваши скиллы поднимать, вы можете искать 100 причин почему это должны делать инженеры, а не вы, а можете порешать и нейрончики свои поактивировать)
Удивительно, что эта тема начала фонить ещё на интервью с Лешей и Сашей, а сегодня развернулась внутри кластера и я даже
Они не лезут в то, каким образом их команда эти решения реализует и понятия не имеют из какой таблички берутся данные или какой стек используется. Они управляют стратегией и бэклогом продукта. Если вы PO, то ваш продукт - это ваш стартап. Вы должны знать кому и что вы продаёте, как ваш продукт влияет на жизнь пользователей. Может быть не ITишником
🏭Руководитель - в споре пришли к выводу, что это кто-то не из айти, а из классической линейной структуры или что-то на старославянском😁 лично я использую этот термин, когда разговариваю с людьми из другой сферы.
Я себя отношу к TeamLead, потому что напрямую влияю на то, как выполняются задачи, на каком стеке и т.п. Хотя у меня есть стратегия нашей команды, я понимаю кто стейкхолдер, к чему мы идём, на какие метрики влияем и т.п. (тут я уже не совсем ощущаю границы между TL и PO)
Но на днях ко мне временно перешла роль Product owner, так как один наш продукт остался без PO и эта тема для меня стала особенно актуальна. Я фанат этого продукта и конечный его пользователь, но я понятия не имею как правильно строить архитектуры приложений или писать на Java (Господи, я пока даже не знаю точно на чем ребята пишут)🤡 Вот и почувствовала разницу между PO и TL, хоть и не до конца ещё. Моя задача сейчас будет проработать стратегию и бэклог.
✍Эта классификация ролей создана моими когнитивными процессами в ходе обсуждений, споров, опыта и даже одного митапа и не является истинной, высеченной в камне. Поэтому интересно, что вы думаете на счёт этих понятий?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7 2
Во-первых, нужно продолжать налаживать и поддерживать процессы внутри своей команды. В целом, они у меня большие молодцы и сами могут уже себя организовать, хоть и не без ошибок, конечно, и это скорее мои управленческие ошибки, но в любом случае большое им спасибо за эту помощь и поддержку
Во-вторых, есть вторая команда, в которой есть очень крутой продукт, и не один, а бэклога нет, планы очень туманны, команда разобщенная. То есть работы там непочатый край (кстати, вакансия открыта на Product Owner этой команды, создающей мартех продукты), но меня такая работа и трудности очень сильно вдохновляют, я устаю, но кайфую😅 это прям открытие для меня как для личности, не знала об этой грани себя.
В-третьих, у меня в менторстве есть ребята, с которыми я занимаюсь и готовлю им задания.
Ну и учёбу никто не отменял🙈
Так что сил остаётся только на полежать😂 Поэтому, если у вас есть какие-то вопросы хоть по аналитике, хоть по работе лидом или владельцем продукта, пишите, я оттаю и сделаю вам пост или эфир.
Ещё обещаю сделать вам разбор задачки по парсингу, которая была выше)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15 6 3❤2🐳2🤗1
This media is not supported in your browser
VIEW IN TELEGRAM
Нашла на просторах ютуба, что думаете об этом?) Я надеюсь, что это стеб
Были ли у вас подобные случаи на работе и что делали?
Please open Telegram to view this post
VIEW IN TELEGRAM
😱6👍3🙈1
Записала малюсенький подкаст на 7 минут, возможно, будет полезно знать, что бывает по-другому и адекватно.
Ну и как обычно: вопросы, комментарии, предложения пишите в комментах👇👇👇
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как и за что наказывают в IT. Наказание, ответственность и рефлексия
Что делать, если тебе нравится твоя работа, но лид устраивает тебе эмоциональные качели - смотрите в мини подкасте
💚Подписывайтесь на мой канал:
https://news.1rj.ru/str/Lady_Analyst
💚Если было полезно, буду рада донатам:
https://pay.mysbertips.ru/92484472
💚Подписывайтесь на мой канал:
https://news.1rj.ru/str/Lady_Analyst
💚Если было полезно, буду рада донатам:
https://pay.mysbertips.ru/92484472
❤8💔4🔥1
✍️ Задача со скрином и обсуждением по ссылке:
https://news.1rj.ru/str/Lady_Analyst/226
📄 Датасет:
https://www.kaggle.com/datasets/aaditshukla/flipkart-fasion-products-dataset
📓 Блокнот .py:
https://disk.yandex.ru/d/pGZpXXA9g2RVQA
https://pay.mysbertips.ru/92484472
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
DATA АНАЛИТИК: Задача по парсингу структур, загруженных как строки
🐍 Представьте, что вы аналитик в Озоне или Вайлдберис и вам поставили задачу найти инсайты в продаваемых товарах.
Но в данных затесались проблемки. Свойства товаров хранятся в бд в виде структуры (см. скрин). А в пандас эта структура загружается как строка.…
Но в данных затесались проблемки. Свойства товаров хранятся в бд в виде структуры (см. скрин). А в пандас эта структура загружается как строка.…
🔥10 5💯3
Знаю, что у меня в канале есть разные аналитики, в том числе и системные🥰
Мы ищем в команду Сбера✨ в департамент маркетинга Middle Системного аналитика. Джун+ тоже рассмотрим
Продукты и архитектура сложные, будут челленжить вас. Направление маркетинговых технологий.
Пишите в личку @IyaZotova с резюме, договоримся о собесе💚
Мы ищем в команду Сбера
Продукты и архитектура сложные, будут челленжить вас. Направление маркетинговых технологий.
Пишите в личку @IyaZotova с резюме, договоримся о собесе
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4😱3