📊 Всем привет! Сегодня разберем важную тему для решения рабочих задач: создание колонок по условию в
💂♀️ В основном создание колонок по условию требуется для изменения гранулярности данных, например, вместо того, чтобы отдельно рассматривать пользователей по конкретному возрасту, удобнее сформировать из них смысловые группу: молодые (18-30), средние (31-59) и пожилые(60+).
🏕️ Метод 1:
🔬 В который раз убеждаемся, что numpy - лидирующая библиотека, когда необходимо добиться максимальной скорости.
✒️ Какие еще применения условного создания колонок Вы знаете? Какой метод используете?
😀 Подписаться
#pandas #numpy #python
Pandas💂♀️ В основном создание колонок по условию требуется для изменения гранулярности данных, например, вместо того, чтобы отдельно рассматривать пользователей по конкретному возрасту, удобнее сформировать из них смысловые группу: молодые (18-30), средние (31-59) и пожилые(60+).
🏕️ Метод 1:
iterrows() построчно обрабатывает в Data Frame записи и применяет условную логику для создания нового столбца:for index, row in df.iterrows():
if condition:
df.at[index, 'new_column'] = value
else:
df.at[index, 'new_column'] = other_value
👩🎤 Метод 2: apply() в pandas позволяет нам применить функцию по осям (строки, колонки) к Data Frame:def conditional_logic(row):
if condition:
return value
else:
return other_value
df['new_column'] = df.apply(conditional_logic, axis=1)
🕵️♀️ Метод 3: np.where() обеспечивает векторизованный подход к созданию условного столбца. Мы можем указать условие и присвоить значения на его основе: df['new_column']=np.where(condition, value, other_value)
👍 Метод 4: np.select() позволяет нам создать новый столбец на основе нескольких условий:
conditions = [condition1, condition2, condition3]
choices = [value1, value2, value3]
df['new_column'] = np.select(conditions, choices, default=other_value)
🏎️ Давно мы не устраивали забеги на скорость, поэтому создадим DataFrame от 100 до 10 000 записей с возрастами от 18 до 80.
🏁 Результаты впечатляющие: iterrows очевидно занимает последнее место, самый популярный метод apply быстрее примерно в 7 раз при 10 000 строк. В упорной борьбе побеждает np.where, который в 263 раза быстрее, чем iterrows, в 35 раз быстрее apply и всего лишь в 1.3, чем np.select. 🔬 В который раз убеждаемся, что numpy - лидирующая библиотека, когда необходимо добиться максимальной скорости.
✒️ Какие еще применения условного создания колонок Вы знаете? Какой метод используете?
#pandas #numpy #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍7❤4
📕 Вышел новый Jupyter Notebook 7
ℹ️ Главные изменения: совместная работа в режиме реального времени, интерактивная отладка, оглавление, темы, темный режим, компактный просмотр на мобильных устройствах.
🐞 В Notebook 7 завезли интерактивный отладчик от JupyterLab, который позволяет пошагово просматривать код ячейка за ячейкой. Вы также можете устанавливать точки остановки и проверять переменные.
👯 Совместная работа в режиме реального времени позволяет делиться своим блокнотом с другими пользователями и редактировать его. Чтобы начать активировать совместную работу, необходимо установить расширение jupyter-collaboration:
💁♂️ В посте выделил самые интересные для себя нововведения, но более подробно можете ознакомиться по ссылкам:
🔗 Документация
🔗 Технические подробности
🏥 Есть много способов, которыми вы можете принять участие в работе над Notebook 7. Например, внести свой вклад в разработку, документирование и дизайн Jupyter Notebook на GitHub.
🔗 Ссылка на открытые «good first issue»
✒️ Как Вам обновления? Как по мне самый мажорный апдейт за долгие годы. И так как Jupyter является инструментом №1 для анализа данных, поэтому очень важно следить за его новыми возможностями.
😀 Подписаться
💬 Чат
#новости #python
ℹ️ Главные изменения: совместная работа в режиме реального времени, интерактивная отладка, оглавление, темы, темный режим, компактный просмотр на мобильных устройствах.
🐞 В Notebook 7 завезли интерактивный отладчик от JupyterLab, который позволяет пошагово просматривать код ячейка за ячейкой. Вы также можете устанавливать точки остановки и проверять переменные.
👯 Совместная работа в режиме реального времени позволяет делиться своим блокнотом с другими пользователями и редактировать его. Чтобы начать активировать совместную работу, необходимо установить расширение jupyter-collaboration:
pip install jupyter-collaboration
🌚 Темная тема теперь доступна в Jupyter Notebook по умолчанию. Вы также можете установить множество других тем JupyterLab. Например, для установки ночной темы JupyterLab:pip install jupyterlab-night💁♂️ В посте выделил самые интересные для себя нововведения, но более подробно можете ознакомиться по ссылкам:
🔗 Документация
🔗 Технические подробности
🏥 Есть много способов, которыми вы можете принять участие в работе над Notebook 7. Например, внести свой вклад в разработку, документирование и дизайн Jupyter Notebook на GitHub.
🔗 Ссылка на открытые «good first issue»
✒️ Как Вам обновления? Как по мне самый мажорный апдейт за долгие годы. И так как Jupyter является инструментом №1 для анализа данных, поэтому очень важно следить за его новыми возможностями.
💬 Чат
#новости #python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤9👍2🥰2👎1
📄 Сегодня разберем одну из самых популярных задач для аналитиков данных по Python.
💼 Почти ни одно техническое собеседование не обходится без задания «Напишите функцию, которая определяет является ли строка палиндромом?»
🎓 Палиндром - это число, слово или текст, одинаково читающееся в обоих направлениях. Например, 101, «топот», «а роза упала на лапу Азора» являются палиндромами.
🎸 Рассмотрим несколько вариантов решения и сравним их по скорости:
✂️ Срезы
🔂 Цикл
⏪ Функция reversed()
🤖 Небольшое задание, попробуйте добавить еще проверку на пробелы, знаки препинания и заглавные буквы. Ответы присылайте в комментарии.
😀 Подписаться
💬 Чат
#собеседование #python
💼 Почти ни одно техническое собеседование не обходится без задания «Напишите функцию, которая определяет является ли строка палиндромом?»
🎓 Палиндром - это число, слово или текст, одинаково читающееся в обоих направлениях. Например, 101, «топот», «а роза упала на лапу Азора» являются палиндромами.
🎸 Рассмотрим несколько вариантов решения и сравним их по скорости:
✂️ Срезы
def is_palindrome(s):
return s == s[::-1]🔂 Цикл
def is_palindrome(s):
reversed_string = ""
for char in s:
reversed_string = char + reversed_string
return s == reversed_string
⏪ Функция reversed()
def is_palindrome(s):
return s == ''.join(reversed(s))
🔃 Рекурсия
def is_palindrome(s):
if len(s) <= 1:
return True
return s[0] == s[-1] and is_palindrome(s[1:-1])
🚇 По скорости и лаконичности выигрывает способ через обычные срезы, остальные можно просто использовать, чтобы удивить всех на собеседовании, особенно методом с рекурсией. 🤖 Небольшое задание, попробуйте добавить еще проверку на пробелы, знаки препинания и заглавные буквы. Ответы присылайте в комментарии.
💬 Чат
#собеседование #python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Python в Excel: crossover эпизод, который мы заслужили.
📰 Понимаю, что немного опоздал с breaking news, но зато было чуть больше времени разобраться в вопросе.
🧃Небольшая выжимка и ссылки для тех, у кого мало времени:
🧮 Расчеты выполняются в облаке, а значит будет работать на слабых машинах
👯♂️ Наконец-то не придется переливать информацию из одной системы в другую и можно удобно делиться исследованиями, а значит скорость и качество коммуникации с бизнесом вырастит (нет)
🐍 Совместный проект Anaconda и Microsoft, а значит огромное количество библиотек для анализа данных уже под капотом
🎗️К проекту приложил руку Гвидо ван Россум (автор Python), который уже 3 года работает в Microsoft (Представили себе его собеседование на знание Python, когда устраивался?)
🔗 Как получить доступ
🔗 Основы работы
🔗 Работа с колонками
🔗 Фильтрация таблиц
🔗 Анализ текста
🔗 Работа с ML
🔗 Визуализация данных
🔗 Презентация данных
🔗 Лайфаки
🔗 Курс по анализу данных с Python в Excel
🌦️ Немного поделюсь еще своими мыслями и добавлю несколько ложек дегтя:
🥄 Функция классная, но она опоздала на пару лет для тех, кто уже плотно пересел на Python, но зато станет отличным «мостиком» для Excel аналитиков в дивный новый мир.
🥣 Не забываем, что необходима платная подписка, чтобы пользоваться всеми благами цивилизации, а количество удобных способов из Python перенести данные в Excel все еще много. Так что многие предпочтут сделать костыль, чем не потратить лишний рубль.
🍯 Если уже решили убрать Excel из резюме и забыть как страшный сон, то пока не спишите. Рискну предположить, что в скором времени грань между Python и Exсel будет все эфемернее.
✒️ Что думаете о «новинке»? Будете использовать?
😀 Подписаться
💬 Чат
#python
📰 Понимаю, что немного опоздал с breaking news, но зато было чуть больше времени разобраться в вопросе.
🧃Небольшая выжимка и ссылки для тех, у кого мало времени:
🧮 Расчеты выполняются в облаке, а значит будет работать на слабых машинах
👯♂️ Наконец-то не придется переливать информацию из одной системы в другую и можно удобно делиться исследованиями, а значит скорость и качество коммуникации с бизнесом вырастит (нет)
🎗️К проекту приложил руку Гвидо ван Россум (автор Python), который уже 3 года работает в Microsoft (Представили себе его собеседование на знание Python, когда устраивался?)
🔗 Как получить доступ
🔗 Основы работы
🔗 Работа с колонками
🔗 Фильтрация таблиц
🔗 Анализ текста
🔗 Работа с ML
🔗 Визуализация данных
🔗 Презентация данных
🔗 Лайфаки
🔗 Курс по анализу данных с Python в Excel
🌦️ Немного поделюсь еще своими мыслями и добавлю несколько ложек дегтя:
🥄 Функция классная, но она опоздала на пару лет для тех, кто уже плотно пересел на Python, но зато станет отличным «мостиком» для Excel аналитиков в дивный новый мир.
🥣 Не забываем, что необходима платная подписка, чтобы пользоваться всеми благами цивилизации, а количество удобных способов из Python перенести данные в Excel все еще много. Так что многие предпочтут сделать костыль, чем не потратить лишний рубль.
🍯 Если уже решили убрать Excel из резюме и забыть как страшный сон, то пока не спишите. Рискну предположить, что в скором времени грань между Python и Exсel будет все эфемернее.
✒️ Что думаете о «новинке»? Будете использовать?
💬 Чат
#python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8🔥2🥰2