Сперва кажется, что за бред про прерываемые индексы? Сейчас расскажу где можно ошибиться 😜
А кто не ошибается, тот не работает! Главное вовремя понять, что тут что-то не то.
💡 Итак, задача: У нас есть список клиентов и их годовые обороты. Мы хотим отфильтровать тех, у кого оборот, допустим, больше 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 для выбора строк по позициям, особенно после фильтрации, группировки или сортировки данных, когда индексы идут не подряд. Тогда результат действительно будет топовым!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤🔥6❤1✍1😴1
Лето прошло, и кажется, все уже поплакали по этому поводу. Но кто бы мог подумать, что Notion тоже оставит нас в печали?
С 9 сентября сервис прекратит работу для пользователей из России. Это настоящее разочарование.😭 Вся мои заметки, ссылки и курсы хранятся там, и теперь я в поисках альтернативы.
После долгих поисков наткнулась на Yonote.ru. Это не реклама, а просто находка, которая поможет заменить Notion. Конечно, можно использовать VPN, но иногда хочется работать без лишних танцев с бубном.
Что делать дальше?
✅ Экспорт данных: Первое и самое важное — экспортируйте свои заметки из Notion. Это можно сделать как для отдельных страниц, так и для всего аккаунта. Резервные копии — залог спокойствия.
✅ Ожидание: Посмотрим, что произойдет после 9 сентября. Пока нет полной ясности, как именно будут ограничивать доступ: всех ли пользователей, только платных, или же по IP. Но, почти наверняка, даже в худшем случае, сервис будет доступен через VPN. Но стоит ли это усилий? Каждый решает сам.
✅ Аналоги: Есть несколько российских вариантов:
✔️ Яндекс Заметки — для простых записей, если не нужны сложные структуры: ссылка
✔️ Заметки Mail.ru — с недавним добавлением тегов можно разделять записи по темам: ссылка
Для более сложных задач:
✔️ Yonote.ru — организация, планирование, управление знаниями.
✔️ Teamly.ru — платформа для совместной работы и управления знаниями
✔️ Weeek.net — задачи, база знаний, CRM, аналитика и многое другое
Каждый решает сам, что выбрать. Главное — быть готовым к изменениям и действовать заранее.👩💻
А вы чем пользуетесь, кстати?
С 9 сентября сервис прекратит работу для пользователей из России. Это настоящее разочарование.
После долгих поисков наткнулась на Yonote.ru. Это не реклама, а просто находка, которая поможет заменить Notion. Конечно, можно использовать VPN, но иногда хочется работать без лишних танцев с бубном.
Что делать дальше?
✅ Экспорт данных: Первое и самое важное — экспортируйте свои заметки из Notion. Это можно сделать как для отдельных страниц, так и для всего аккаунта. Резервные копии — залог спокойствия.
✅ Ожидание: Посмотрим, что произойдет после 9 сентября. Пока нет полной ясности, как именно будут ограничивать доступ: всех ли пользователей, только платных, или же по IP. Но, почти наверняка, даже в худшем случае, сервис будет доступен через VPN. Но стоит ли это усилий? Каждый решает сам.
✅ Аналоги: Есть несколько российских вариантов:
Для более сложных задач:
Каждый решает сам, что выбрать. Главное — быть готовым к изменениям и действовать заранее.
А вы чем пользуетесь, кстати?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3🤨2
Про прокрастинацию и баланс в жизни 🧠💪
Когда работаешь аналитиком данных 📊, кажется, что учёба и саморазвитие — это неотъемлемая часть успеха. Постоянно хочется освоить что-то новое, улучшить свои навыки, но... в какой-то момент понимаешь, что усталость берёт своё 😩.
Домашние дела 🧹, семейные заботы 👨👩👧👦, домашка с детьми-школьниками, и несколько человек в менторстве — всё это отнимает много сил. И вот тут появляется прокрастинация 🕰. Не потому что неинтересно, а потому что тело и разум просто требуют передышки 🛌.
И знаете, я пришла к выводу: нельзя постоянно «пахать» 💼. Наш организм подаёт сигнал, что ему нужен отдых, и это важно уважать. Если хочется замедлиться 🧘♀️ — нужно дать себе такую возможность. Отдых — это тоже часть пути к продуктивности ⚡️
Недавно я даже решилась на шаг вперёд: записалась в фитнес-клуб 🏋️♀️. Теперь забочусь не только о своём уме 🧠, но и о теле 💪. Ведь в гармонии важен баланс ⚖️ — между физическим, эмоциональным и интеллектуальным развитием.
Помните, заботиться о себе — это не лень, а необходимость ❤️.
И вот, пишу это всё в пятницу 13-го 🌘 — не знаю, совпадение это или знак, но кажется, что сегодня именно тот день, когда стоит притормозить, оглянуться вокруг и просто насладиться тем, что уже удалось достичь.
Когда работаешь аналитиком данных 📊, кажется, что учёба и саморазвитие — это неотъемлемая часть успеха. Постоянно хочется освоить что-то новое, улучшить свои навыки, но... в какой-то момент понимаешь, что усталость берёт своё 😩.
Домашние дела 🧹, семейные заботы 👨👩👧👦, домашка с детьми-школьниками, и несколько человек в менторстве — всё это отнимает много сил. И вот тут появляется прокрастинация 🕰. Не потому что неинтересно, а потому что тело и разум просто требуют передышки 🛌.
И знаете, я пришла к выводу: нельзя постоянно «пахать» 💼. Наш организм подаёт сигнал, что ему нужен отдых, и это важно уважать. Если хочется замедлиться 🧘♀️ — нужно дать себе такую возможность. Отдых — это тоже часть пути к продуктивности ⚡️
Недавно я даже решилась на шаг вперёд: записалась в фитнес-клуб 🏋️♀️. Теперь забочусь не только о своём уме 🧠, но и о теле 💪. Ведь в гармонии важен баланс ⚖️ — между физическим, эмоциональным и интеллектуальным развитием.
Помните, заботиться о себе — это не лень, а необходимость ❤️.
И вот, пишу это всё в пятницу 13-го 🌘 — не знаю, совпадение это или знак, но кажется, что сегодня именно тот день, когда стоит притормозить, оглянуться вокруг и просто насладиться тем, что уже удалось достичь.
❤40👍15🔥5🥰1
🎯LEFT JOIN, с условием в ON или в WHERE.
Разберем, почему происходит различие между двумя запросами с LEFT JOIN, где условие включено в разные части: ON и WHERE.
Такое встречается на тестовых. Ну и по работе тоже нужно конечно.
Есть две таблицы: Таблица 1: информация о транзакциях и Таблица 2: информация о типе пользователя
Задача: выполнить LEFT JOIN по user_id, чтобы узнать, какой у пользователя тип (type), и разобраться, почему два похожих запроса могут дать разные результаты.
🟢 Запрос1️⃣ : LEFT JOIN с условием в ON:
Для каждой строки из df_1 ищется строка в df_2, где user_id совпадают и type в df_2 равно 'admin'.
Если такое совпадение найдено, строка из df_2 включается в результат. Если совпадений нет, то столбцы из df_2 заполняются NULL.
Все строки из df_1 присутствуют, так как это LEFT JOIN.
🟢 Запрос2️⃣ : LEFT JOIN с условием в WHERE
Аналогично предыдущему случаю, LEFT JOIN возвращает все строки из df_1 и соответствующие строки из df_2.
Условие WHERE отфильтровывает строки после объединения. Это означает, что оно удалит все строки, где df_2.type не равно 'admin' и также строки, где df_2.type равно NULL.
В результате будут включены только строки, где df_2.type = 'admin'.
🤓 В чем разница?
Условие в ON позволяет выполнить фильтрацию во время объединения (JOIN), сохраняя все строки из левой таблицы (df_1) и вставляя NULL для несоответствующих значений из правой таблицы.
Условие в WHERE применяется после объединения. Поэтому строки, которые не соответствуют условию (type = 'admin'), будут удалены включая строки с NULL!
💡 Запомним 🚀
ON — фильтрует при объединении, сохраняя строки из левой таблицы.
WHERE — фильтрует после объединения, убирая строки с NULL и несоответствующими значениями.
p.s. Картинку рисовала в Canva впервые. Накидайте реакций за смелость :) Дизайнерам тапками не кидаться, сделала как смогла 😂
Разберем, почему происходит различие между двумя запросами с LEFT JOIN, где условие включено в разные части: ON и WHERE.
Такое встречается на тестовых. Ну и по работе тоже нужно конечно.
Есть две таблицы: Таблица 1: информация о транзакциях и Таблица 2: информация о типе пользователя
Задача: выполнить LEFT JOIN по user_id, чтобы узнать, какой у пользователя тип (type), и разобраться, почему два похожих запроса могут дать разные результаты.
🟢 Запрос
SELECT df_1.user_id, df_1.amount, df_2.type
FROM df_1
LEFT JOIN df_2 ON df_1.user_id = df_2.user_id AND df_2.type = 'admin'
Для каждой строки из df_1 ищется строка в df_2, где user_id совпадают и type в df_2 равно 'admin'.
Если такое совпадение найдено, строка из df_2 включается в результат. Если совпадений нет, то столбцы из df_2 заполняются NULL.
Все строки из df_1 присутствуют, так как это LEFT JOIN.
🟢 Запрос
SELECT df_1.user_id, df_1.amount, df_2.type
FROM df_1
LEFT JOIN df_2 ON df_1.user_id = df_2.user_id
WHERE df_2.type = 'admin'
Аналогично предыдущему случаю, LEFT JOIN возвращает все строки из df_1 и соответствующие строки из df_2.
Условие WHERE отфильтровывает строки после объединения. Это означает, что оно удалит все строки, где df_2.type не равно 'admin' и также строки, где df_2.type равно NULL.
В результате будут включены только строки, где df_2.type = 'admin'.
🤓 В чем разница?
Условие в ON позволяет выполнить фильтрацию во время объединения (JOIN), сохраняя все строки из левой таблицы (df_1) и вставляя NULL для несоответствующих значений из правой таблицы.
Условие в WHERE применяется после объединения. Поэтому строки, которые не соответствуют условию (type = 'admin'), будут удалены включая строки с NULL!
💡 Запомним 🚀
ON — фильтрует при объединении, сохраняя строки из левой таблицы.
WHERE — фильтрует после объединения, убирая строки с NULL и несоответствующими значениями.
p.s. Картинку рисовала в Canva впервые. Накидайте реакций за смелость :) Дизайнерам тапками не кидаться, сделала как смогла 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥40⚡13❤9👍2✍1🔥1
✋🏻 Привет, меня зовут Дмитрий, я data engineer.
Веду свой блог по инжинирингу данных https://xn--r1a.website/kuzmin_dmitry91.
Пишу про область, рабочие кейсы, немного лайфстайла. Работаю, учусь, делаю и исправляю ошибки)
Будет интересно больше новичкам в области, но также поддержу разговор с middle+ de.
Буду рад, если в моем канале найдете для себя полезности 💪🏻
Веду свой блог по инжинирингу данных https://xn--r1a.website/kuzmin_dmitry91.
Пишу про область, рабочие кейсы, немного лайфстайла. Работаю, учусь, делаю и исправляю ошибки)
Будет интересно больше новичкам в области, но также поддержу разговор с middle+ de.
Буду рад, если в моем канале найдете для себя полезности 💪🏻
Telegram
Дмитрий Кузьмин | Инженерия данных
Путь Data engineer от Junior до Lead.
Делюсь мыслями, рабочими кейсами, обучением. Блог для junior - middle DE.
Мой профиль: @dim4eg91
Сайт: https://kuzmin-dmitry.ru
Практикум Data engineer: https://kuzmin-dmitry.ru/de_practicum
Делюсь мыслями, рабочими кейсами, обучением. Блог для junior - middle DE.
Мой профиль: @dim4eg91
Сайт: https://kuzmin-dmitry.ru
Практикум Data engineer: https://kuzmin-dmitry.ru/de_practicum
❤🔥8
Когда ко мне обращаются за помощью, я с удовольствием поддерживаю, если вижу, что блог действительно полезный и может помочь другим 💪👌👍
❤9👍5❤🔥4😁4⚡1
💡 Почему в мире быстрых изменений важно учиться терпению?
Хочу с вами поделиться одной мыслью. Она наверняка не нова, но я как-то по другому на нее смотрю теперь.
Сейчас скорость достижения целей кажется ключевым навыком. Все вокруг будто бы идут на сверхзвуковой скорости: новые технологии, тренды, навыки. Постоянно учишься, пытаешься освоить новые инструменты и подходы, но при этом результат не всегда виден сразу. Ощущение, что идешь слишком медленно, иногда давит.
Но вот что важно понять: быстрота не всегда равно качество.
Работая в аналитике, да и вообще в любой сфере, если честно, мы часто забываем, что это марафон, а не спринт. Ты не можешь мгновенно статьсиньором крутым экспертом или сделать невероятные открытия в данных с первого раза.
Когда я создавала канал несколько лет назад, я и не думала, что он будет приносить мне небольшой, но приятный доход от рекламы. Я просто создавала его так как мне захотелось.
🎯 Не гонитесь за мгновенными результатами!
То, что вы изучаете сейчас (питон, sql, статистика или еще что-то) может не пригодиться ВОТ ПРЯМ СЕЙЧАС, но очень вероятно, что пригодится через год или два при должном стремлении к вашей цели. Именно терпение и постоянство помогут тебе построить крепкий фундамент. Карьерный рост — это постепенный процесс. Очень важно научиться принимать и ценить каждый маленький шаг.
🌱 Учись терпению. Медленный прогресс — это тоже прогресс.
Важно помнить, что каждый новый проект, каждая ошибка — это кирпичик в твоем профессиональном пути. Твой путь уникален, и гонка с другими только мешает сосредоточиться на своих достижениях.
Терпение — это не вовсе не слабость, а сила. Развивай свои навыки, не гонись за мгновенными результатами, и в итоге ты увидишь, как далеко продвинулся.
Хочу с вами поделиться одной мыслью. Она наверняка не нова, но я как-то по другому на нее смотрю теперь.
Сейчас скорость достижения целей кажется ключевым навыком. Все вокруг будто бы идут на сверхзвуковой скорости: новые технологии, тренды, навыки. Постоянно учишься, пытаешься освоить новые инструменты и подходы, но при этом результат не всегда виден сразу. Ощущение, что идешь слишком медленно, иногда давит.
Но вот что важно понять: быстрота не всегда равно качество.
Работая в аналитике, да и вообще в любой сфере, если честно, мы часто забываем, что это марафон, а не спринт. Ты не можешь мгновенно стать
Когда я создавала канал несколько лет назад, я и не думала, что он будет приносить мне небольшой, но приятный доход от рекламы. Я просто создавала его так как мне захотелось.
🎯 Не гонитесь за мгновенными результатами!
То, что вы изучаете сейчас (питон, sql, статистика или еще что-то) может не пригодиться ВОТ ПРЯМ СЕЙЧАС, но очень вероятно, что пригодится через год или два при должном стремлении к вашей цели. Именно терпение и постоянство помогут тебе построить крепкий фундамент. Карьерный рост — это постепенный процесс. Очень важно научиться принимать и ценить каждый маленький шаг.
🌱 Учись терпению. Медленный прогресс — это тоже прогресс.
Важно помнить, что каждый новый проект, каждая ошибка — это кирпичик в твоем профессиональном пути. Твой путь уникален, и гонка с другими только мешает сосредоточиться на своих достижениях.
Терпение — это не вовсе не слабость, а сила. Развивай свои навыки, не гонись за мгновенными результатами, и в итоге ты увидишь, как далеко продвинулся.
❤🔥38👍10
💡 Как избежать ошибок при SQL-запросах, если в списке только одно значение?
Иногда при выполнении SQL-запросов с оператором IN может возникнуть ошибка, если список содержит только одно значение. Столкнулась с этим на работе, и решила проблему хитрым способом: добавляю фиктивное значение в список.
Это позволяет SQL-запросу работать корректно в любом случае!
📊 В этом примере, даже если список users_lst содержит одно значение, мы добавляем фиктивный user_id, чтобы запрос был корректным. Используем библиотеку pandasql для выполнения SQL-запроса на DataFrame.
Иногда при выполнении SQL-запросов с оператором IN может возникнуть ошибка, если список содержит только одно значение. Столкнулась с этим на работе, и решила проблему хитрым способом: добавляю фиктивное значение в список.
Это позволяет SQL-запросу работать корректно в любом случае!
from pandasql import sqldf
import pandas as pd
# Список user_id
users_lst = [987654321]
# Проверка длины списка
if len(users_lst) == 1:
# Добавляем фиктивное значение
users_lst.append(123456789)
# Преобразование списка в кортеж
users_lst = tuple(users_lst)
# Пример базы данных с двумя колонками: user_id и amount
data = {
'user_id': [987654321, 154589364, 234567890, 345678901, 456789012],
'amount': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)
# SQL-запрос
query = f"""
SELECT user_id, amount
FROM df
WHERE user_id IN {users_lst}
"""
# Вывод результата
sqldf(query)
📊 В этом примере, даже если список users_lst содержит одно значение, мы добавляем фиктивный user_id, чтобы запрос был корректным. Используем библиотеку pandasql для выполнения SQL-запроса на DataFrame.
❤18👍2
🚀 Участвуйте в новом исследовании рынка аналитиков от NewHR!
Если вы работаете в аналитике, это отличная возможность не только внести свой вклад, но и получить доступ к уникальным результатам и инсайтам из исследования!
📊 Почему это важно?
NewHR проводит исследования рынка с 2018 года, чтобы собрать данные о развитии аналитической профессии: зарплаты, задачи, форматы работы и многое другое. Каждый год они следят за изменениями, чтобы лучше понять динамику в этой быстро развивающейся сфере.
Каких аналитиков охватывает исследование?
➤ Дата-аналитики
➤ BI-аналитики
➤ Продуктовые аналитики
➤ Маркетинговые и веб-аналитики
О чём пойдет речь в опросе?
👉 Как меняются зарплаты и вилки
👉 Какие компании предлагают отличные условия для аналитиков
👉 В каком формате работают аналитики: офис или удалёнка
👉 Чем занимаются аналитики сейчас и к чему стремятся в будущем
👉 Как они ищут работу и выбирают работодателей
📌 Как принять участие? Пройдите опрос, это займёт около 20 минут: ссылка на опрос. Сбор данных идёт весь октябрь.
💡 Почему это важно? Чем больше участников, тем точнее и репрезентативнее результаты! Ваше участие поможет сделать исследование максимально полезным для всех нас.
Я очень рекомендую пройти опрос (сама уже прошла) и поделиться им с коллегами! Окончательные результаты будут опубликованы в начале 2025 года, но участники смогут получать промежуточные данные и приглашения на закрытые обсуждения инсайтов.
Посмотрите какие у них были исследования:
Релокация IT-специалистов
Как изменились зарплаты айтишников за 2023 год
Исследование рынка продуктовых и дата-аналитиков
Если вы работаете в аналитике, это отличная возможность не только внести свой вклад, но и получить доступ к уникальным результатам и инсайтам из исследования!
📊 Почему это важно?
NewHR проводит исследования рынка с 2018 года, чтобы собрать данные о развитии аналитической профессии: зарплаты, задачи, форматы работы и многое другое. Каждый год они следят за изменениями, чтобы лучше понять динамику в этой быстро развивающейся сфере.
Каких аналитиков охватывает исследование?
➤ Дата-аналитики
➤ BI-аналитики
➤ Продуктовые аналитики
➤ Маркетинговые и веб-аналитики
О чём пойдет речь в опросе?
👉 Как меняются зарплаты и вилки
👉 Какие компании предлагают отличные условия для аналитиков
👉 В каком формате работают аналитики: офис или удалёнка
👉 Чем занимаются аналитики сейчас и к чему стремятся в будущем
👉 Как они ищут работу и выбирают работодателей
📌 Как принять участие? Пройдите опрос, это займёт около 20 минут: ссылка на опрос. Сбор данных идёт весь октябрь.
💡 Почему это важно? Чем больше участников, тем точнее и репрезентативнее результаты! Ваше участие поможет сделать исследование максимально полезным для всех нас.
Я очень рекомендую пройти опрос (сама уже прошла) и поделиться им с коллегами! Окончательные результаты будут опубликованы в начале 2025 года, но участники смогут получать промежуточные данные и приглашения на закрытые обсуждения инсайтов.
Посмотрите какие у них были исследования:
Релокация IT-специалистов
Как изменились зарплаты айтишников за 2023 год
Исследование рынка продуктовых и дата-аналитиков
❤5👍2
🚀 Друзья, хочу поделиться с вами важной новостью – я создала новый канал, посвященный искусственному интеллекту, нейросетям и технологиям! Это будет канал с последними новостями, собранными из ведущих зарубежных и отечественных источников: www.cnews.ru, www.bbc.com, newatlas.com, www.ibm.com и прочих.
Мне не терпится рассказать вам, как я пришла к этому!
Я просто обожаю всё, что связано с технологиями и нейросетями! 🧠 Я часто читаю новости, отслеживаю самые свежие разработки и подписана на множество тематических каналов. В какой-то момент я подумала: "Почему бы не сделать что-то своё?" 💡 И вот, теперь у меня есть собственный информационный вестник, где я делюсь с вами самым интересным и важным из мира ИИ! Назвала его ИИ Журнал, а симпотяшку робота нарисовала в нейронке.
Этот проект меня невероятно вдохновляет, потому что я не просто читаю и изучаю – я делюсь своими открытиями с вами. Так что присоединяйтесь, будет много захватывающих новостей и инсайтов!
🌐 P.S. Давайте признаем, что мысли о том, что нас всех могут заменить нейросети, уже давно стали актуальной темой. С одной стороны, меня беспокоит, до каких масштабов это может дойти, а с другой — перед нами открывается множество новых возможностей.
ИИ Журнал ждет Вас! Ну и как можно отказать такому милому роботу?🤪
Мне не терпится рассказать вам, как я пришла к этому!
Я просто обожаю всё, что связано с технологиями и нейросетями! 🧠 Я часто читаю новости, отслеживаю самые свежие разработки и подписана на множество тематических каналов. В какой-то момент я подумала: "Почему бы не сделать что-то своё?" 💡 И вот, теперь у меня есть собственный информационный вестник, где я делюсь с вами самым интересным и важным из мира ИИ! Назвала его ИИ Журнал, а симпотяшку робота нарисовала в нейронке.
Этот проект меня невероятно вдохновляет, потому что я не просто читаю и изучаю – я делюсь своими открытиями с вами. Так что присоединяйтесь, будет много захватывающих новостей и инсайтов!
ИИ Журнал ждет Вас! Ну и как можно отказать такому милому роботу?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👏1🤡1
📊 Как проверить, существует ли датафрейм в Python, прежде чем с ним работать?
Недавно столкнулась на работе с задачей, когда нужно было объединить два датафрейма — df1 и df2. Но тут был нюанс: иногда df1 просто не загружался из-за отсутствия данных. А мне нужно было учесть его, если данные вдруг появятся. Если бы пыталась объединить df1 и df2, когда df1 не существует, то это выдавало бы ошибку. Код и выдавал ошибку, чего уж там. 🤦♂️
Вот тут и пригодилась небольшая хитрость с проверкой на существование переменной.
В Python можно использовать функцию locals(), чтобы проверить, была ли создана переменная, прежде чем что-то с ней делать. Например, если я хочу проверить, существует ли df1, то пишу условие:
Итак, накидаем примерчики.
🔹 Вариант 1: locals()
🔹 Вариант 2: try-except
Другой способ — использовать try-except, чтобы поймать ошибку NameError, если переменная df1 еще не была создана. Это помогает избежать лишних проверок на пустоту и существование:
📝 Мне больше с locals() нравится. Кратко и по сути, и не надо дублировать код.
Недавно столкнулась на работе с задачей, когда нужно было объединить два датафрейма — df1 и df2. Но тут был нюанс: иногда df1 просто не загружался из-за отсутствия данных. А мне нужно было учесть его, если данные вдруг появятся. Если бы пыталась объединить df1 и df2, когда df1 не существует, то это выдавало бы ошибку. Код и выдавал ошибку, чего уж там. 🤦♂️
Вот тут и пригодилась небольшая хитрость с проверкой на существование переменной.
В Python можно использовать функцию locals(), чтобы проверить, была ли создана переменная, прежде чем что-то с ней делать. Например, если я хочу проверить, существует ли df1, то пишу условие:
if 'df1' not in locals():
df1 = pd.DataFrame() # Создаем df1, если он не существует
Итак, накидаем примерчики.
🔹 Вариант 1: locals()
import pandas as pd
df2 = pd.DataFrame({
'status': [1, 2, 3],
'manager_name': ['Иванов', 'Петров', 'Сидоров'] })
# Проверка наличия df1
if 'df1' not in locals() or df1.empty:
df1 = df2.copy() # Если df1 пустой или не существует, присваиваем ему df2
else:
df1 = pd.concat([df1, df2], ignore_index=True) # Объединение строк
🔹 Вариант 2: try-except
Другой способ — использовать try-except, чтобы поймать ошибку NameError, если переменная df1 еще не была создана. Это помогает избежать лишних проверок на пустоту и существование:
try:
if df1.empty:
# Если df1 пустой, присваиваем ему значения df2
df1 = df2.copy()
else:
# Если df1 не пустой, объединяем его с df2
df1 = pd.concat([df1, df2], ignore_index=True)
except NameError:
# Если df1 не был создан, создаем его как копию df2
df1 = df2.copy()
df1
📝 Мне больше с locals() нравится. Кратко и по сути, и не надо дублировать код.
❤🔥18👍4❤2🤔1
«Яндекс» опроверг наличие в компании «красных маркеров» при отборе кандидатов (возраст 40+, работа в госструктурах)
💼 На рынке труда часто ценят не только профессиональные навыки, но и соответствие негласным "маркерам" и стереотипам.
12 ноября 2024 года «Яндекс» опроверг в пояснении ситуации для Хабра наличие в компании «красных маркеров» при отборе кандидатов (возраст 40+, с опытом работы в госструктурах, частая смена работодателя и так далее), так как подобные правила противоречат внутренним политикам компании.
😏 Поверили ли мы сразу? Скажем так — рынку проще отсеивать, чем разбираться. И в этом грусть: многих достойных специалистов отсекают по признакам, которые не имеют отношения к их компетентности. Шансы попасть на собеседование часто сводятся к нулю по причинам, которые от кандидата никак не зависят.
⚖️ Конечно, приходится адаптироваться к этой реальности, но у соискателей тоже есть свои "красные маркеры". Один раз, к примеру, я была на собеседовании, где руководитель финансового отдела выглядел до предела уставшим человеком. Тогда я подумала: ну, всякое бывает, может, у компании непростой период. Как выяснилось позже, этот "период" длился уже давно, и в тот год до моего прихода сменился весь финансовый отдел, включая руководителя. Я тоже ушла спустя четыре месяца, так как возвращаться домой за полночь не слишком устраивало мою семью.
Расскажите, а вам попадались "красные флаги" у работодателей или в откликах на резюме?
💼 На рынке труда часто ценят не только профессиональные навыки, но и соответствие негласным "маркерам" и стереотипам.
12 ноября 2024 года «Яндекс» опроверг в пояснении ситуации для Хабра наличие в компании «красных маркеров» при отборе кандидатов (возраст 40+, с опытом работы в госструктурах, частая смена работодателя и так далее), так как подобные правила противоречат внутренним политикам компании.
😏 Поверили ли мы сразу? Скажем так — рынку проще отсеивать, чем разбираться. И в этом грусть: многих достойных специалистов отсекают по признакам, которые не имеют отношения к их компетентности. Шансы попасть на собеседование часто сводятся к нулю по причинам, которые от кандидата никак не зависят.
⚖️ Конечно, приходится адаптироваться к этой реальности, но у соискателей тоже есть свои "красные маркеры". Один раз, к примеру, я была на собеседовании, где руководитель финансового отдела выглядел до предела уставшим человеком. Тогда я подумала: ну, всякое бывает, может, у компании непростой период. Как выяснилось позже, этот "период" длился уже давно, и в тот год до моего прихода сменился весь финансовый отдел, включая руководителя. Я тоже ушла спустя четыре месяца, так как возвращаться домой за полночь не слишком устраивало мою семью.
Расскажите, а вам попадались "красные флаги" у работодателей или в откликах на резюме?
❤14🙏2❤🔥1🕊1
🔍 Как посчитать суммы покупок клиентов без оконных функций в SQL? Простое решение на Python! 🐍
Поступила мне тут задачка посчитать сумму покупок для каждого пользователя на определенном этапе его покупок: например, для 1-й, 2-й или 3-й покупки. В идеале это можно решить с помощью оконных функций в SQL. Но что делать, если они не доступны? 🤔
Я сделала, как обычно, с помощью Python и библиотеки pandas! Давайте разберемся, как это сделать шаг за шагом.
Итак, у нас есть таблица df с такими данными:
Мы добавляем столбец month, который извлекает месяц из даты покупки (created_at), так как мне нужна была именно по месяцам разбивка.
Оказывается есть метод cumcount(), чтобы рассчитать порядок покупок для каждого пользователя. 📊
Теперь у нас есть столбец rank, который говорит нам, какая по счету покупка была сделана пользователем.
И уже можно легко фильтровать их по порядку (первая, вторая, третья) и посчитать суммы для каждого из этих этапов.
📈 Вот так любимый python-чик может все! ❤️🔥 🎯
Поступила мне тут задачка посчитать сумму покупок для каждого пользователя на определенном этапе его покупок: например, для 1-й, 2-й или 3-й покупки. В идеале это можно решить с помощью оконных функций в SQL. Но что делать, если они не доступны? 🤔
Я сделала, как обычно, с помощью Python и библиотеки pandas! Давайте разберемся, как это сделать шаг за шагом.
Итак, у нас есть таблица df с такими данными:
data = {
#дата покупки
'created_at': ['2024-10-25', '2024-10-30', '2024-10-30', '2024-11-03', '2024-11-04', '2024-11-05'],
#идентификатор пользователя
'user_id': [1, 1, 2, 2, 2, 1],
#номер сделки
'deal_id': [101, 102, 103, 104, 105, 106],
#сумма покупки
'amount': [200, 300, 150, 250, 100, 200]
}
df = pd.DataFrame(data)
df['created_at'] = pd.to_datetime(df['created_at'])Мы добавляем столбец month, который извлекает месяц из даты покупки (created_at), так как мне нужна была именно по месяцам разбивка.
df['month'] = df['created_at'].dt.to_period('M')Оказывается есть метод cumcount(), чтобы рассчитать порядок покупок для каждого пользователя. 📊
df['rank'] = df.groupby('user_id').cumcount() + 1Теперь у нас есть столбец rank, который говорит нам, какая по счету покупка была сделана пользователем.
И уже можно легко фильтровать их по порядку (первая, вторая, третья) и посчитать суммы для каждого из этих этапов.
# Сумма первых покупок
first_deals = df[df['rank'] == 1].groupby('month', as_index=False)['amount'].sum()
# Сумма вторых покупок
second_deals = df[df['rank'] == 2].groupby('month', as_index=False)['amount'].sum()
# Сумма третьих покупок
third_deals = df[df['rank'] == 3].groupby('month', as_index=False)['amount'].sum()
📈 Вот так любимый python-чик может все! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍13❤🔥4
Наверно многие знают Пашу Бухтика Head of Product Analytics. Так вот у него завтра начинается курс по AБ и я выбила для вас 5% скидку. Нужно только сказать «я от Валерии / мира аналитики данных».
🎉 Курс по АБ – старт уже 2 декабря!
Ты хочешь прокачать навык АБ-тестирования, но устал от кусочных знаний из статей и книг?
Ты пробовал курсы, но на работе вопросов стало только больше? Или, может быть, тебя разворачивали на собеседованиях, потому что не хватало глубины?
👉 Тогда этот курс для тебя!
Паша Бухтик собрал все это:
✔️ Систему подходов, методов и инструментов для АБ,
✔️ Глубокое понимание и практику ключевых навыков,
✔️ Лучшие примеры из своей реальной практики за 7 лет.
Это не просто обучение. Это:
🔸 12 онлайн-занятий в Zoom – максимум структуры и ответов на все вопросы;
🔸 12 практических занятий в малых группах – кейсы, задачи, прикладной опыт;
🔸 12 комплектов доп. материалов – чеклисты, статьи, книги;
🔸 Индивидуальные домашки и обратная связь;
🔸 Активное комьюнити единомышленников!
🚀 Зачем тебе это? Чтобы выйти на новый уровень:
- Наконец увидеть большую картину.
- Разобраться, как всё работает в реальных рабочих задачах.
- Получить ответы на свои вопросы и перестать «спотыкаться».
🤝 Успей присоединиться! На второй поток.
🔗 Заявку оставляй на сайте: nodatanogrowth.com/product-analyst-ab-testing
Войди в 2024 с навыком, который сделает тебя экспертом. 💪
🎉 Курс по АБ – старт уже 2 декабря!
Ты хочешь прокачать навык АБ-тестирования, но устал от кусочных знаний из статей и книг?
Ты пробовал курсы, но на работе вопросов стало только больше? Или, может быть, тебя разворачивали на собеседованиях, потому что не хватало глубины?
👉 Тогда этот курс для тебя!
Паша Бухтик собрал все это:
✔️ Систему подходов, методов и инструментов для АБ,
✔️ Глубокое понимание и практику ключевых навыков,
✔️ Лучшие примеры из своей реальной практики за 7 лет.
Это не просто обучение. Это:
🔸 12 онлайн-занятий в Zoom – максимум структуры и ответов на все вопросы;
🔸 12 практических занятий в малых группах – кейсы, задачи, прикладной опыт;
🔸 12 комплектов доп. материалов – чеклисты, статьи, книги;
🔸 Индивидуальные домашки и обратная связь;
🔸 Активное комьюнити единомышленников!
🚀 Зачем тебе это? Чтобы выйти на новый уровень:
- Наконец увидеть большую картину.
- Разобраться, как всё работает в реальных рабочих задачах.
- Получить ответы на свои вопросы и перестать «спотыкаться».
🤝 Успей присоединиться! На второй поток.
🔗 Заявку оставляй на сайте: nodatanogrowth.com/product-analyst-ab-testing
Войди в 2024 с навыком, который сделает тебя экспертом. 💪
Nodatanogrowth
Онлайн-курс по АБ-тестам и проверке гипотез для продуктовых аналитиков
Систематизируй знания по АБ в четкую методологию, преврати знания в навыки и карьерные достижения!
❤🔥6❤2
Я не так часто работаю с функциями, но иногда это действительно помогает оптимизировать работу. Бывает, что они - настоящее спасение.
🎯 Давайте рассмотрим ситуацию: вам нужно извлекать данные за определенные периоды времени. Вместо того чтобы писать SQL-запрос каждый раз заново, можно обернуть сам запрос в функцию.
🛠 С функцией легко менять диапазон дат, просто передав другой список в параметрах.
Используем библиотеку pandasql, которая позволяет выполнять SQL-запросы по DataFrame, как будто это таблица из базы данных.
import pandas as pd
from pandasql import sqldf
# Создаем небольшой DataFrame
data = {
'id': [1, 2, 3, 4, 5],
'created_at': ['2024-12-01', '2024-12-05', '2024-12-07', '2024-12-09', '2024-12-15'],
'user_id': [182, 256, 550, 306, 457]
}
df = pd.DataFrame(data)
# Преобразуем столбец created_at в datetime
df['created_at'] = pd.to_datetime(df['created_at'])
Теперь напишем саму функцию (пусть называется get_sql) для выборки данных через SQL:
def get_sql(df, dates):
query = f"""
SELECT *
FROM df
WHERE created_at >= '{dates[0]}' -- первая дата
AND created_at < '{dates[1]}' -- вторая дата
"""
return sqldf(query, locals())
dates1 = ['2024-12-01', '2024-12-10']
df_part1 = get_sql(df, dates1)
После выполнения этого кода вы получите таблицу с отфильтрованными данными (первые 4 строки).
Конкретный пример использования, чтобы сразу запомнилось, а не что-то абстрактное. 😂
Когда нужно выгрузить данные по рассылкам писем, обычно работаешь с очень большими базами. За один раз данные за месяц не получить — слишком объемно. Но можно разбить процесс на небольшие интервалы, например, выгружать данные по несколько дней.
🍕 Написал такой скрипт один раз, и потом спокойно запускаешь его 15 раз, собирая потом части в единое целое! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
✍15❤🔥8👍5❤1
Делимся первыми инсайтами из исследования аналитиков, которое команда NEWHR провела в 2024 году. Это рейтинги и списки экспертов отрасли и каналов.
Выборка в исследовании получилась солидная — 1293 человека.
Вот кого опрошенные нами аналитики чаще всего отмечали в списке экспертов:
1. Анатолий Карпов
2. Валерий Бабушкин
3. Роман Бунин
А рейтинге каналов самыми известными оказались:
1. karpov.courses
2. Reveal the Data
3. настенька и графики
🔗 Изучить полные рейтинги и списки экспертов из исследования можно по ссылке.
💙 Мы благодарим наших информационных партнёров, которые помогли нам собрать такую внушительную выборку!
🎄 Команда NEWHR продолжает обрабатывать полные результаты исследования аналитиков: это данные о зарплатах, местах работы, желанных работодателях и многое другое. Мы опубликуем их в 2025 году. Следите за обновлениями!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5✍5⚡1👍1
Че там по метрикам в сравнении с 2023?
Подписчики: было 1762, стало 3753 — +113% (больше чем в 2 раза!)
Публикации: было 56, стало 94 — прирост +68%
Комментарии: с 461 до 492 — +7%
Пересылки: 730 → 964 — +32%
Реакции: 1.2K → 1.5K — +25%
Просмотры: 90.5K → 186.1K — +106%
Вывод: Канал вырос по сравнению с прошлым годом.
Я подготовила список самых интересных публикаций за 2024 год:
🐍 Python и Pandas
💾 SQL и базы данных
✅ Как влиться в IT, если вы только начинаете; страхи, женские квоты. Статья с Хабра.
✅ Какой курс/обучение стоит выбрать, если планируете «войти» в IT. Советы по Excel, SQL и обретению опыта.
✅ Прокрастинация и личный баланс: про фитнес-клуб и необходимость отдыха.
✅ Баланс, фитнес, и почему нам нужно отдыхать.
✅«Красные маркеры» у работодателей и «красные флаги» у соискателей (пост о возрастных ограничениях и т.п.).
И хоть сегодня последний рабочий день, и, признаемся, учиться уже вряд ли хочется, всё же сохраните этот список — он пригодится, когда захочется прокачать скиллы после праздников.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍5❤2
Пусть в каждом доме царят гармония, мир и тепло, а наступающий год подарит вам вдохновение, яркие события и множество счастливых мгновений. 🌟🌟🌟
В эти праздничные дни отложите гаджеты в сторону и уделите время своему телу: ощутите мир, двигайтесь, встречайтесь с друзьями и готовьте вкусные угощения! Позвольте себе отдохнуть от виртуальной суеты!
У меня в планах конечно салаты, дача и общение с близкими.
Мечтайте, загадывайте желания и смело идите к своим целям!
До встречи в новом году!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14🎄5☃2🔥1
🎯 Вот и пролетели каникулы. Не жалею, что не сидела за компом. Мы семьей ездили на дачу, парились в баньке, жгли камин, встречались с друзьями, ездили к бабушкам, побывали на Красной площади.
Жизнь дуальна или двойственна или, если по другому, у всего есть две стороны. Можно сосредоточиться на том, что отдых закончился и опять нужно работать . А можно сконцентрировать свои мысли на перспективе того интересного и захватывающего, что мы сами себе можем создать в этом году! И все действительно в наших руках! Но для этого нужно учиться, ставить цели и кайфовать от того, что потихоньку идем по своем пути. Пусть извилистому, но именно нашему особенному пути.
💡 У меня появилась идея, которая поможет каждому из нас оставаться мотивированным и идти к своим целям!
Предлагаю вам простой, но эффективный инструмент — таблица для мотивации. Абсолютно бесплатно для всех.
Я буду за Вами следить и Вас мотивировать, а также любой из нас кто зайдет на Ваш лист и захочет что-то написать или вставить наклейку для мотивации. Короче, полная свобода!
😀 Как это работает? 😀
📋 Вы заполняете таблицу своими курсами, тренировками или любыми другими целями.
✅ Каждый день отмечаете галочками свои успехи, а можете цветом закрасить клеточку дня, в котором позанимались.
👀 Другие видят ваш прогресс, а вы вдохновляетесь их результатами.
Когда знаешь, что за тобой наблюдают, появляется дополнительный стимул двигаться вперед. Это проверенный прием, который помогает не сойти с дистанции! 🚀
Что нужно сделать?
1️⃣ Переходите по ссылке, копируйте лист "Для копирования" и дайте ему имя - свое или любое другое, которое Вам нравится.
2️⃣ Заполняйте своими целями и курсами.
3️⃣ Начинайте действовать!
Чтобы вам было проще начать, я добавила в таблицу несколько курсов, которые могут стать отличным ориентиром.
Не ждите идеального момента — начните сегодня! 💪 Ссылка на таблицу
Давайте делиться успехами и поддерживать друг друга! 🔥 Можно писать друг другу прям на листах. Типа "Ого, круто! Молодец!" Можно вставлять картинки и эмодзи. Короче, никак себя не ограничивать.
Напишите в комментариях, что планируете изучать или какую цель хотите достичь. 🙌
Скажу честно - после того как я это придумала, мне показалось, что возможно я зря это затеваю. Заходить, смотреть, самой отмечать свои занятия. Но это был искренний порыв помочь. Надеюсь эта инициатива реально окажется полезной!
Жизнь дуальна или двойственна или, если по другому, у всего есть две стороны. Можно сосредоточиться на том, что отдых закончился и опять нужно работать . А можно сконцентрировать свои мысли на перспективе того интересного и захватывающего, что мы сами себе можем создать в этом году! И все действительно в наших руках! Но для этого нужно учиться, ставить цели и кайфовать от того, что потихоньку идем по своем пути. Пусть извилистому, но именно нашему особенному пути.
💡 У меня появилась идея, которая поможет каждому из нас оставаться мотивированным и идти к своим целям!
Предлагаю вам простой, но эффективный инструмент — таблица для мотивации. Абсолютно бесплатно для всех.
Я буду за Вами следить и Вас мотивировать, а также любой из нас кто зайдет на Ваш лист и захочет что-то написать или вставить наклейку для мотивации. Короче, полная свобода!
📋 Вы заполняете таблицу своими курсами, тренировками или любыми другими целями.
✅ Каждый день отмечаете галочками свои успехи, а можете цветом закрасить клеточку дня, в котором позанимались.
👀 Другие видят ваш прогресс, а вы вдохновляетесь их результатами.
Когда знаешь, что за тобой наблюдают, появляется дополнительный стимул двигаться вперед. Это проверенный прием, который помогает не сойти с дистанции! 🚀
Что нужно сделать?
Чтобы вам было проще начать, я добавила в таблицу несколько курсов, которые могут стать отличным ориентиром.
Не ждите идеального момента — начните сегодня! 💪 Ссылка на таблицу
Давайте делиться успехами и поддерживать друг друга! 🔥 Можно писать друг другу прям на листах. Типа "Ого, круто! Молодец!" Можно вставлять картинки и эмодзи. Короче, никак себя не ограничивать.
Напишите в комментариях, что планируете изучать или какую цель хотите достичь. 🙌
Скажу честно - после того как я это придумала, мне показалось, что возможно я зря это затеваю. Заходить, смотреть, самой отмечать свои занятия. Но это был искренний порыв помочь. Надеюсь эта инициатива реально окажется полезной!
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Docs
Мотиватор в табличке
🔥18❤10👍7
Друзья, вы просто космос! Посмотрите, сколько новых задач и участников появилось в наших таблицах: тут и курсы по аналитике, и чтение книг, и даже ежедневные тренировки и йога. Кажется, мы все дружно рванули вперёд! 🚀
Кстати, для самых первых участников я уже добавила вдохновляющие картинки, а на неделе планирую порадовать такими же и тех, кто присоединился совсем недавно. 📸✨
Очень радует, что у многих не только “В планах” новые цели, но уже “Выполняется” сразу несколько дел: от прокачки SQL до занятий спортом. ✨ С каким кайфом я сама ставлю галочку, когда занимаюсь!
Именно так рождается настоящий драйв: каждый маленький шаг даёт огромный заряд мотивации всем остальным. Ведь когда видишь, как другие двигаются, тоже хочется включаться на полную. 🏋️♀️
Спасибо, что заполняете таблички и делитесь своими успехами. С таким настроем у нас точно всё получится! Продолжаем в том же духе: изучаем новое, тренируемся, растём. 💪
Тут спрашивали про лучшие курсы. Но их так много, что трудно выбрать - их действительно огромное количество. Главное начать заниматься, а где - уже не так важно. Одним курсом вы все равно не отделаетесь 😂 Знаний в нашей сфере много не бывает - постоянно нужно что-то учить и доучивать. Но, зато мозг будет прокачен. Ну и про тело не забывать тоже. А то это уже дисбаланс. А нам такое не надо. Гармония во всем!😌 Поучился - иди и поприседай. Покодил - постой в планке, да не на графике, а на своем полу 😜
Я продолжу следить за прогрессом — и, конечно, всегда вэлкам для новых идей!💡 💡 💡
📎 Табличка тут - тык
Кстати, для самых первых участников я уже добавила вдохновляющие картинки, а на неделе планирую порадовать такими же и тех, кто присоединился совсем недавно. 📸✨
Очень радует, что у многих не только “В планах” новые цели, но уже “Выполняется” сразу несколько дел: от прокачки SQL до занятий спортом. ✨ С каким кайфом я сама ставлю галочку, когда занимаюсь!
Именно так рождается настоящий драйв: каждый маленький шаг даёт огромный заряд мотивации всем остальным. Ведь когда видишь, как другие двигаются, тоже хочется включаться на полную. 🏋️♀️
Спасибо, что заполняете таблички и делитесь своими успехами. С таким настроем у нас точно всё получится! Продолжаем в том же духе: изучаем новое, тренируемся, растём. 💪
Тут спрашивали про лучшие курсы. Но их так много, что трудно выбрать - их действительно огромное количество. Главное начать заниматься, а где - уже не так важно. Одним курсом вы все равно не отделаетесь 😂 Знаний в нашей сфере много не бывает - постоянно нужно что-то учить и доучивать. Но, зато мозг будет прокачен. Ну и про тело не забывать тоже. А то это уже дисбаланс. А нам такое не надо. Гармония во всем!
Я продолжу следить за прогрессом — и, конечно, всегда вэлкам для новых идей!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥15❤2
Особенно грустно, что под «оптимизацию» попадают стажёры и джуны, то есть те, кто только делает первые шаги в профессии. При этом многие топ-менеджеры предпочитают сами покидать компанию, не желая увольнять подчинённых. 👥 Личный респект им!
Но что это значит для нас с вами — IT-специалистов или тех, кто только планирует стать айтишником? Рынок становится жёстче, конкуренция растёт, и учиться приходится всё активнее, ведь без постоянного развития навыков просто не удержаться на плаву. 📚💡
Чтобы быть «на гребне волны» в мире IT, не забывайте:
Короче нам надо учится, учиться и еще раз учиться.
Думаете сейчас будет реклама курсов? А вот и нет.
https://rb.ru/news/sber-ecom-personnel/
Please open Telegram to view this post
VIEW IN TELEGRAM
rb.ru
«Сбер» начал сокращать сотрудников IT-подразделения Ecom.tech — «Ведомости» | RB.RU
Сбербанк начал сокращать сотрудников IT-подразделения Ecom.tech, которое объединяет разработчиков «Купера», «Мегамаркета», «Сберлогистики» и «Самоката». Об этом «Ведомостям» рассказали сотрудники компании, которым предложили уволиться по соглашению сторон…
👍15❤6😢3😁1💯1