❓Как использовать %timeit для замера времени выполнения кода в Python 🐍
Встроенные магические команды IPython позволяют сделать жизнь разработчика проще и удобней.
Например, Вы набрасываете код в Jupyter и вдруг Вам нужно замерить, сколько времени Ваш код отрабатывает. Например, загружается картинка или происходит вычисление. Притом не сколько это займет времени прям сейчас, а сколько это занимает объективно - для этого нужно замерить время много раз.
✅ Все это можно сделать с помощью утилиты %timeit. Она замеряет время выполнение кода, прогоняя его много раз и выбирая лучший результат.
Синтаксис такой:
Расшифруем все параметры 👉🏻
✓ -n Выполнить action N раз за цикл. Если не указать, выбирается автоматически.
✓ -r Количество повторов R (R раз по N повторов)
✓ [-t|-c] Использовать time.time или time.clock для замера
✓ -p Точность до P знаков. По умолчанию 3
✓ -q Quiet, не выводить результат
✓ action функция или действие, которое мы хотим замерить
Пример (просто выполнить pass):
Стандартный вывод команды (если не указан параметр quiet) - количество циклов и лучшее время. Например:
#python
Встроенные магические команды IPython позволяют сделать жизнь разработчика проще и удобней.
Например, Вы набрасываете код в Jupyter и вдруг Вам нужно замерить, сколько времени Ваш код отрабатывает. Например, загружается картинка или происходит вычисление. Притом не сколько это займет времени прям сейчас, а сколько это занимает объективно - для этого нужно замерить время много раз.
✅ Все это можно сделать с помощью утилиты %timeit. Она замеряет время выполнение кода, прогоняя его много раз и выбирая лучший результат.
Синтаксис такой:
> %timeit [-n <N> -r <R> [-t|-c] -q -p <P> -o] action
Расшифруем все параметры 👉🏻
✓ -n Выполнить action N раз за цикл. Если не указать, выбирается автоматически.
✓ -r Количество повторов R (R раз по N повторов)
✓ [-t|-c] Использовать time.time или time.clock для замера
✓ -p Точность до P знаков. По умолчанию 3
✓ -q Quiet, не выводить результат
✓ action функция или действие, которое мы хотим замерить
Пример (просто выполнить pass):
> %timeit -n 100 -r 5 -t -q -p 5 pass
Стандартный вывод команды (если не указан параметр quiet) - количество циклов и лучшее время. Например:
> 100 loops, best of 5: 7.1526 ns per loop
#python
GROK IT!
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: Ничего
💥 Объяснение:
Мы указали только 2 параметра: -n и -q, после чего передаем на замер времени функцию fun.
Параметр -n указывает количество повторов в цикле. Параметр -q (quiet) показывает, что результаты выводить не нужно.
Таким образом, мы производим замер времени и ничего не выводим. Вообще.
❗️То есть правильный ответ - ничего.
#grokit #python
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: Ничего
💥 Объяснение:
Мы указали только 2 параметра: -n и -q, после чего передаем на замер времени функцию fun.
Параметр -n указывает количество повторов в цикле. Параметр -q (quiet) показывает, что результаты выводить не нужно.
Таким образом, мы производим замер времени и ничего не выводим. Вообще.
❗️То есть правильный ответ - ничего.
#grokit #python
👍1
🐻 Что за зверь - аффинные преобразования?
Скорее всего, каждый из Вас хоть раз в жизни слышал термин «аффинные преобразования».
Действительно, все постоянно о них говорят: «инвариантность к аффинным преобразованиям», «аугментация с помощью аффинных преобразований», «аффинные преобразования в компьютерной графике» и так далее.
Однако, далеко не все могут сходу ответить на простой вопрос: «А расскажите, что такое аффинные преобразования простыми словами».
Вы сможете? В любом случае, давайте немного обсудим этот вопрос.
Подробнее - в нашей статье на Хабре 😏
Приятного чтения! ☺️
#math
Скорее всего, каждый из Вас хоть раз в жизни слышал термин «аффинные преобразования».
Действительно, все постоянно о них говорят: «инвариантность к аффинным преобразованиям», «аугментация с помощью аффинных преобразований», «аффинные преобразования в компьютерной графике» и так далее.
Однако, далеко не все могут сходу ответить на простой вопрос: «А расскажите, что такое аффинные преобразования простыми словами».
Вы сможете? В любом случае, давайте немного обсудим этот вопрос.
Подробнее - в нашей статье на Хабре 😏
Приятного чтения! ☺️
#math
Дайджест вакансий за 25.01.2021 - 01.01.2021 🕵️♂️
✅Младший аналитик данных
Зарплата: от 30 000 до 40 000 руб.
Компания: ООО Диджитал Лайн
Занятость: Частичная занятость, удаленная работа (стажировка)
Опыт: не требуется
Ключевые навыки: SQL
Ссылка на вакансию: https://vk.cc/bXRESJ
✅ML разработчик, python
Зарплата: от 210 000 до 250 000 руб.
Компания: Mindbox
Занятость: Полная занятость, полный день
Опыт: 1–3 года
Ключевые навыки: Python (sklearn, lightgbm, xgboost, hyperopt, Implicit, nmslib), ML / Kaggle. SQL
Дополнительные навыки: Pytorch, Tensorflow
Ссылка на вакансию: https://vk.cc/bXRFV3
✅IT Business Analytics Internship / Бизнес-аналитик (Стажер)
Зарплата: от 70 000 руб.
Компания: Procter & Gamble
Занятость: Стажировка, полный день
Опыт: не требуется
Ключевые навыки: Английский язык (Upper Intermediate или выше), KNIME, Power BI, Tableau, Spotfire, SQL, Экосистема больших данных (Hadoop, Azure), Python, R
Ссылка на вакансию: https://vk.cc/bXRGT4
✅Программист-аналитик MS SQL
Зарплата: от 80 000 до 100 000 руб.
Компания: ООО Инвентор Софт
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: MS SQL Server, Transact SQL
Дополнительные навыки: С# (разработка DLL для MS SQL), Delphi, Python, PHP
Ссылка на вакансию: https://vk.cc/bXREqT
✅Machine Learning Engineer
Зарплата: от 2 800 до 4 000 EUR
Компания: Greenscreens.AI
Занятость: Полная занятость, полный день
Опыт: от 3 лет
Ключевые навыки: Python (jupyter notebook, pandas, numpy), SQL, Фреймворки ML (tensorflow, sklearn), Алгоритмы ML (NNs, xgboost, random forest, линейная регрессия), Контроль версий Git, Английский язык
Дополнительные навыки: DevOps, MLOps, Docker, Kubernetes, REST API
Ссылка на вакансию: https://vk.cc/bXRI1a
✅Data Analyst
Зарплата: от 70 000 до 100 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: SQL, Python, Бизнес-метрики
Дополнительные навыки: Power BI, Методы ML, Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bXRIBQ
✅Программист-аналитик Python
Зарплата: от 170 000 руб.
Компания: ООО Регистратор доменных имен РЕГ.РУ
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: SQL (MySQL), Python ((Pandas, NumPy), Linux-системы, Git, Gig Data
Дополнительные навыки: Clickhouse, ElasticSearch, Hadoop, BI-системы, Математическая статистика, DS/ML
Ссылка на вакансию: https://vk.cc/bXRE4T
#vacancy
✅Младший аналитик данных
Зарплата: от 30 000 до 40 000 руб.
Компания: ООО Диджитал Лайн
Занятость: Частичная занятость, удаленная работа (стажировка)
Опыт: не требуется
Ключевые навыки: SQL
Ссылка на вакансию: https://vk.cc/bXRESJ
✅ML разработчик, python
Зарплата: от 210 000 до 250 000 руб.
Компания: Mindbox
Занятость: Полная занятость, полный день
Опыт: 1–3 года
Ключевые навыки: Python (sklearn, lightgbm, xgboost, hyperopt, Implicit, nmslib), ML / Kaggle. SQL
Дополнительные навыки: Pytorch, Tensorflow
Ссылка на вакансию: https://vk.cc/bXRFV3
✅IT Business Analytics Internship / Бизнес-аналитик (Стажер)
Зарплата: от 70 000 руб.
Компания: Procter & Gamble
Занятость: Стажировка, полный день
Опыт: не требуется
Ключевые навыки: Английский язык (Upper Intermediate или выше), KNIME, Power BI, Tableau, Spotfire, SQL, Экосистема больших данных (Hadoop, Azure), Python, R
Ссылка на вакансию: https://vk.cc/bXRGT4
✅Программист-аналитик MS SQL
Зарплата: от 80 000 до 100 000 руб.
Компания: ООО Инвентор Софт
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: MS SQL Server, Transact SQL
Дополнительные навыки: С# (разработка DLL для MS SQL), Delphi, Python, PHP
Ссылка на вакансию: https://vk.cc/bXREqT
✅Machine Learning Engineer
Зарплата: от 2 800 до 4 000 EUR
Компания: Greenscreens.AI
Занятость: Полная занятость, полный день
Опыт: от 3 лет
Ключевые навыки: Python (jupyter notebook, pandas, numpy), SQL, Фреймворки ML (tensorflow, sklearn), Алгоритмы ML (NNs, xgboost, random forest, линейная регрессия), Контроль версий Git, Английский язык
Дополнительные навыки: DevOps, MLOps, Docker, Kubernetes, REST API
Ссылка на вакансию: https://vk.cc/bXRI1a
✅Data Analyst
Зарплата: от 70 000 до 100 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 1 года
Ключевые навыки: SQL, Python, Бизнес-метрики
Дополнительные навыки: Power BI, Методы ML, Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bXRIBQ
✅Программист-аналитик Python
Зарплата: от 170 000 руб.
Компания: ООО Регистратор доменных имен РЕГ.РУ
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: SQL (MySQL), Python ((Pandas, NumPy), Linux-системы, Git, Gig Data
Дополнительные навыки: Clickhouse, ElasticSearch, Hadoop, BI-системы, Математическая статистика, DS/ML
Ссылка на вакансию: https://vk.cc/bXRE4T
#vacancy
💃 7 приемов математики, которые облегчат Вам жизнь
Вам приходится порой сталкиваться с интегралами, производными и прочими страшными математическими штуками? Тогда эта подборка может существенно облегчить Вам жизнь!
Файл с формулами прикреплен к посту ✅
1. Интеграл от нечетной функции в симметричных пределах = 0.
2. Интеграл от четной функции в симметричных пределах = удвоенному интегралу от этой же функции в половинном пределе.
3. Производная от интеграла по переменному верхнему пределу = значению подынтегральной функции в этом пределе.
4. Производная от интеграла по переменному нижнему пределу = значению подынтегральной функции в этом пределе со знаком минус.
5. Сумма арифметической прогрессии = сумме первого и последнего члена, умноженной на половину количества членов.
6. Сумма геометрической прогрессии = произведение первого члена на разность (1 - множитель прогрессии q в степени n) и разделить на разность (1 - множитель прогрессии q)
7. Сумма бесконечно убывающей геометрической прогрессии = первый член прогрессии разделить на (1 - множитель прогрессии q).
#math
Вам приходится порой сталкиваться с интегралами, производными и прочими страшными математическими штуками? Тогда эта подборка может существенно облегчить Вам жизнь!
Файл с формулами прикреплен к посту ✅
1. Интеграл от нечетной функции в симметричных пределах = 0.
2. Интеграл от четной функции в симметричных пределах = удвоенному интегралу от этой же функции в половинном пределе.
3. Производная от интеграла по переменному верхнему пределу = значению подынтегральной функции в этом пределе.
4. Производная от интеграла по переменному нижнему пределу = значению подынтегральной функции в этом пределе со знаком минус.
5. Сумма арифметической прогрессии = сумме первого и последнего члена, умноженной на половину количества членов.
6. Сумма геометрической прогрессии = произведение первого члена на разность (1 - множитель прогрессии q в степени n) и разделить на разность (1 - множитель прогрессии q)
7. Сумма бесконечно убывающей геометрической прогрессии = первый член прогрессии разделить на (1 - множитель прогрессии q).
#math
GROK IT!
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: TypeError
💥 Объяснение:
В данном примере мы создаем множество (set) из квадратов чисел от 0 до 19.
Числа в множестве сохраняются в случайном порядке, а не друг за другом, поэтому вообще не факт, что числа будут идти так: 0, 1, 4...
Но здесь дело в другом. Мы пытаемся сделать подвыборку из первых пяти элементов множества. Однако, set не поддерживает индексацию, из-за чего мы получаем TypeError.
Если бы мы хотели все-таки выбрать первые 5 элементов (причем по порядку), то стоило бы использовать list comprehension:
И вот тогда ответ был бы точно 6.
❗️А здесь правильный ответ - TypeError.
#grokit #python
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: TypeError
💥 Объяснение:
В данном примере мы создаем множество (set) из квадратов чисел от 0 до 19.
Числа в множестве сохраняются в случайном порядке, а не друг за другом, поэтому вообще не факт, что числа будут идти так: 0, 1, 4...
Но здесь дело в другом. Мы пытаемся сделать подвыборку из первых пяти элементов множества. Однако, set не поддерживает индексацию, из-за чего мы получаем TypeError.
Если бы мы хотели все-таки выбрать первые 5 элементов (причем по порядку), то стоило бы использовать list comprehension:
mean([i**2 for i in range(20)][0:5])
И вот тогда ответ был бы точно 6.
❗️А здесь правильный ответ - TypeError.
#grokit #python
✍🏻 5 советов по оптимизации SQL-запросов ✍🏻
Ошибки, долгие паузы и "раздумья" компьютера, возмущенное жужжание процессора и гул успокаивающего его вентилятора...
Вам это знакомо?🤔
Сегодня разберем 5 советов по оптимизации SQL-запросов, которые позволят Вам сохранить и без того хрупкие "нервы" процессора и свои, в том числе!
В статье рассматриваем:
→ Как вывести всё, да не всё
→ Как сузить круг "подозреваемых"
→ Как существенно облегчить работу
→ Как правильно объединяться
→ И много что еще!
Обещаем, Вы обязательно узнаете что-то новое!😏
Приятного чтения!
#sql
Ошибки, долгие паузы и "раздумья" компьютера, возмущенное жужжание процессора и гул успокаивающего его вентилятора...
Вам это знакомо?🤔
Сегодня разберем 5 советов по оптимизации SQL-запросов, которые позволят Вам сохранить и без того хрупкие "нервы" процессора и свои, в том числе!
В статье рассматриваем:
→ Как вывести всё, да не всё
→ Как сузить круг "подозреваемых"
→ Как существенно облегчить работу
→ Как правильно объединяться
→ И много что еще!
Обещаем, Вы обязательно узнаете что-то новое!😏
Приятного чтения!
#sql
Дайджест вакансий за 01.02.2021 - 08.02.2021 🕵️♂️
✅Программист Python (Удаленно)
Зарплата: от 140 000 до 180 000 руб.от 30 000 до 40 000 руб.
Компания: ООО ФК ПУЛЬС
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Django + DRF, Celery, Linux, SQL (MySql\ PostgreSQL)
Дополнительные навыки: Администрирование БД, AWS или Google Cloud, Git, Unit Test, Functional Test, Docker
Ссылка на вакансию: https://vk.cc/bYa8bn
✅AI разработчик
Зарплата: от 70 000 до 100 000 руб.
Компания: Университет искусственного интеллекта
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python (Keras, TensorFlow, PyTorch), Object Detection, Computer vision, ML, Deep learning
Ссылка на вакансию: https://vk.cc/bYa93n
✅Data Scientist
Зарплата: от 120 000 до 180 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Математическая статистика, Machine learning, Python/Scala, Pandas, NumPy, Sklearn, XGBoost, Plotly, Matplotlib, Seaborn, SQL (MS SQL и ClickHouse )
Дополнительные навыки:Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bYaadv
✅Back-end разработчик Python
Зарплата: от 140 000 руб. до 170 000 руб
Компания: Специальные системы и технологии
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: Python2.7/3.5, SQL, Фреймворки: Flask, FastApi, Базы данных: MSSQL, PostgreSQL, MySQL, Сервера: IIS, Nginx, Сетевые протоколы и технологии: ASGI, WSGI, REST, XML, JSON, Совместная разработка: Git/GitLab, Очереди задач: RabbitMQ, Redis, Python/Celery, Опыт написания юнит-тестов (Jest+Enzyme), JIRA, ООП
Ссылка на вакансию: https://vk.cc/bYa7Iq
✅Программист SQL
Зарплата: до 130 000 руб.
Компания: Севстар
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (предпочтительно PostgreSQL, PL/pgSQL)
Дополнительные навыки: git, Java Core, Spring Framework, docker, perl
Ссылка на вакансию: https://vk.cc/bYaaGT
✅Разработчик BI (remote)
Зарплата: от 3 000 USD
Компания: Nitka Technologies
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: SQL, SAP Data Services, ETL-процессы
Дополнительные навыки: Python, AWS, Разговорный английский язык
Ссылка на вакансию: https://vk.cc/bYa7ln
✅Товарный аналитик в ecommerce-проект
Зарплата: до 130 000 руб.
Компания: СТАРТЕКС
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Power BI, Qlik, Tableau, 1С, Excel, SQL, Создание аналитической отчётности и/или прогностических моделей
Ссылка на вакансию: https://vk.cc/bYabbU
#vacancy
✅Программист Python (Удаленно)
Зарплата: от 140 000 до 180 000 руб.от 30 000 до 40 000 руб.
Компания: ООО ФК ПУЛЬС
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python, Django + DRF, Celery, Linux, SQL (MySql\ PostgreSQL)
Дополнительные навыки: Администрирование БД, AWS или Google Cloud, Git, Unit Test, Functional Test, Docker
Ссылка на вакансию: https://vk.cc/bYa8bn
✅AI разработчик
Зарплата: от 70 000 до 100 000 руб.
Компания: Университет искусственного интеллекта
Занятость: Полная занятость, удаленная работа
Опыт: 1–3 года
Ключевые навыки: Python (Keras, TensorFlow, PyTorch), Object Detection, Computer vision, ML, Deep learning
Ссылка на вакансию: https://vk.cc/bYa93n
✅Data Scientist
Зарплата: от 120 000 до 180 000 руб.
Компания: ООО МАГ Девелопмент
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: Математическая статистика, Machine learning, Python/Scala, Pandas, NumPy, Sklearn, XGBoost, Plotly, Matplotlib, Seaborn, SQL (MS SQL и ClickHouse )
Дополнительные навыки:Jupyter Notebook, Pycharm, Terminal (Linux/MacOS), Gitlab, Jira
Ссылка на вакансию: https://vk.cc/bYaadv
✅Back-end разработчик Python
Зарплата: от 140 000 руб. до 170 000 руб
Компания: Специальные системы и технологии
Занятость: Полная занятость, удаленная работа
Опыт: от 3 лет
Ключевые навыки: Python2.7/3.5, SQL, Фреймворки: Flask, FastApi, Базы данных: MSSQL, PostgreSQL, MySQL, Сервера: IIS, Nginx, Сетевые протоколы и технологии: ASGI, WSGI, REST, XML, JSON, Совместная разработка: Git/GitLab, Очереди задач: RabbitMQ, Redis, Python/Celery, Опыт написания юнит-тестов (Jest+Enzyme), JIRA, ООП
Ссылка на вакансию: https://vk.cc/bYa7Iq
✅Программист SQL
Зарплата: до 130 000 руб.
Компания: Севстар
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: SQL (предпочтительно PostgreSQL, PL/pgSQL)
Дополнительные навыки: git, Java Core, Spring Framework, docker, perl
Ссылка на вакансию: https://vk.cc/bYaaGT
✅Разработчик BI (remote)
Зарплата: от 3 000 USD
Компания: Nitka Technologies
Занятость: Полная занятость, удаленная работа
Опыт: от 2 лет
Ключевые навыки: SQL, SAP Data Services, ETL-процессы
Дополнительные навыки: Python, AWS, Разговорный английский язык
Ссылка на вакансию: https://vk.cc/bYa7ln
✅Товарный аналитик в ecommerce-проект
Зарплата: до 130 000 руб.
Компания: СТАРТЕКС
Занятость: Полная занятость, удаленная работа
Опыт: не требуется
Ключевые навыки: Power BI, Qlik, Tableau, 1С, Excel, SQL, Создание аналитической отчётности и/или прогностических моделей
Ссылка на вакансию: https://vk.cc/bYabbU
#vacancy
☕️Понедельник - самое подходящее время для того, чтобы поменять жизнь!
Сегодня Елизавета, член команды IT Resume, рассказывает в блоге Типичный программист о том, как ей удалось выйти из космических войск и войти в IT 😅
Приятного чтения 👍🏻
#itresume
Сегодня Елизавета, член команды IT Resume, рассказывает в блоге Типичный программист о том, как ей удалось выйти из космических войск и войти в IT 😅
Приятного чтения 👍🏻
#itresume
⚠️ Почему прямо сейчас нужно попробовать Numpy 1.20.0?
Недавно вышел релиз Numpy 1.20.0 - большое обновление. Много всего завезли, много чего убрали, многое пофиксили. Вот самое интересное:
1️⃣ Новая функция permuted
Теперь, например, можно независимо друг от друга перемешать элементы по размерностям 2D массива.
2️⃣ Скользящие окна sliding_window_view
Теперь работать с оконными вычислениями стало проще. В смежных библиотеках они уже были, теперь и в Numpy завезли. Бегом переписывать свои скользящие средние 😏
3️⃣ Ушли алиасы для встроенных типов
Знаете, чем отличается int и numpy.int? Ничем, теперь эту путаницу устранили.
4️⃣ Давайте без финансов
Финансовые функции irr, npv и прочие отправили в пакет numpy_financial. Чтобы не вносили смуты.
5️⃣ Аргумент where в функция all, any, std, mean и var
Теперь удобно считать математические характеристики или использовать any/all только с частью многомерного массива. Для этого достаточно указать параметр where.
✅ Естественно, это не все изменения - их очень много. Полный список можно почитать здесь 👉🏻 http://bit.ly/3a2Fvy4
Кстати говоря, если полазить по исходникам на Github, то можно увидеть много забавного. Например, разработчики пишут, что у них неправильно работают какие-то куски кода 😂
PS. Были жалобы, что после обновления перестали работать части старого кода. Таких было немного, но были. Будьте внимательны ☺️
#python
Недавно вышел релиз Numpy 1.20.0 - большое обновление. Много всего завезли, много чего убрали, многое пофиксили. Вот самое интересное:
1️⃣ Новая функция permuted
Теперь, например, можно независимо друг от друга перемешать элементы по размерностям 2D массива.
2️⃣ Скользящие окна sliding_window_view
Теперь работать с оконными вычислениями стало проще. В смежных библиотеках они уже были, теперь и в Numpy завезли. Бегом переписывать свои скользящие средние 😏
3️⃣ Ушли алиасы для встроенных типов
Знаете, чем отличается int и numpy.int? Ничем, теперь эту путаницу устранили.
4️⃣ Давайте без финансов
Финансовые функции irr, npv и прочие отправили в пакет numpy_financial. Чтобы не вносили смуты.
5️⃣ Аргумент where в функция all, any, std, mean и var
Теперь удобно считать математические характеристики или использовать any/all только с частью многомерного массива. Для этого достаточно указать параметр where.
✅ Естественно, это не все изменения - их очень много. Полный список можно почитать здесь 👉🏻 http://bit.ly/3a2Fvy4
Кстати говоря, если полазить по исходникам на Github, то можно увидеть много забавного. Например, разработчики пишут, что у них неправильно работают какие-то куски кода 😂
PS. Были жалобы, что после обновления перестали работать части старого кода. Таких было немного, но были. Будьте внимательны ☺️
#python
GROK IT! Ответ на задачу про вычитание множеств 🔔
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: {1, 2}
💥 Объяснение:
В данном примере у нас есть 2 множества (set). Этот контейнер содержит набор уникальных элементов в случайном порядке.
Первое и очевидное желание - просто вычесть второе множество из первого почленно. Тогда получится {-2, -2, -2}.
Вторая идея, которая приходит после этого - но множество содержит же только уникальные значения. Значит из {-2, -2, -2} должно остаться только {-2}.
Однако, нет. При вычитании двух множеств выполняется другая операция - симметрическая разность. И в итоговое множество попадают только те элементы, которые ЕСТЬ в первом сете, но НЕТ во втором. В данном случае, это {1, 2}.
❗️Таким образом, правильный ответ - {1, 2}.
#grokit #python
❓Вчера опубликовали задачу по Python: Что выведет код?
✅ Ответ: {1, 2}
💥 Объяснение:
В данном примере у нас есть 2 множества (set). Этот контейнер содержит набор уникальных элементов в случайном порядке.
Первое и очевидное желание - просто вычесть второе множество из первого почленно. Тогда получится {-2, -2, -2}.
Вторая идея, которая приходит после этого - но множество содержит же только уникальные значения. Значит из {-2, -2, -2} должно остаться только {-2}.
Однако, нет. При вычитании двух множеств выполняется другая операция - симметрическая разность. И в итоговое множество попадают только те элементы, которые ЕСТЬ в первом сете, но НЕТ во втором. В данном случае, это {1, 2}.
❗️Таким образом, правильный ответ - {1, 2}.
#grokit #python
💥 6 отличий списков и кортежей в Python 💥
Частая дилемма: что использовать - списки или кортежи. По этой же теме задают много вопросов на собеседованиях.
✅ Сегодня разберем 6 отличий list и tuple в Python:
✓ Литералы
✓ Длина
✓ Мутабельность
✓ Размер
✓ Ключи словаря
✓ Возможности
🗣 Общая рекомендация такая:
→ Заносите в кортеж известные наборы данных. Например, информацию о пользователе с сайта:
» ('Vasya', 'Pupkin', 'Python')
→ Заносите в списки множество схожих элементов. Например, перечисления:
» 'Banana', 'Orange', 'Apple'
Однако, это не все возможные ситуации. Например, если Вам нужно избежать случайного изменения - используйте кортежи, там никто ничего поменять не сможет. Этакая "проверка на дурака". Если Вам нужно сэкономить немного места - также используйте кортежи.
#python
Частая дилемма: что использовать - списки или кортежи. По этой же теме задают много вопросов на собеседованиях.
✅ Сегодня разберем 6 отличий list и tuple в Python:
✓ Литералы
✓ Длина
✓ Мутабельность
✓ Размер
✓ Ключи словаря
✓ Возможности
🗣 Общая рекомендация такая:
→ Заносите в кортеж известные наборы данных. Например, информацию о пользователе с сайта:
» ('Vasya', 'Pupkin', 'Python')
→ Заносите в списки множество схожих элементов. Например, перечисления:
» 'Banana', 'Orange', 'Apple'
Однако, это не все возможные ситуации. Например, если Вам нужно избежать случайного изменения - используйте кортежи, там никто ничего поменять не сможет. Этакая "проверка на дурака". Если Вам нужно сэкономить немного места - также используйте кортежи.
#python