Библиотека Numpy. Разбиение массива
В прошлом посте разобрали объединение массивов. Но кроме этого, их приходится еще и делить. Разумеется, нам нужно не банальное деление через срезы, а более гибкое. Для этого в Numpy представлено два метода:
hsplit - разбивает вдоль горизонтальной оси
vsplit - разбивает вдоль вертикальной оси
array_split - более общий, он позволяет указать вдоль какой оси произойдет разбиение.
#numpy
В прошлом посте разобрали объединение массивов. Но кроме этого, их приходится еще и делить. Разумеется, нам нужно не банальное деление через срезы, а более гибкое. Для этого в Numpy представлено два метода:
hsplit - разбивает вдоль горизонтальной оси
vsplit - разбивает вдоль вертикальной оси
array_split - более общий, он позволяет указать вдоль какой оси произойдет разбиение.
#numpy
Библиотека Numpy. Копии и представления
Ранее мы уже говорили про такую проблему со списками, когда при присваивании новой переменной и последующем изменении изначальный список тоже меняется. Такая же ситуация происходит и в numpy. По умолчанию мы не создаем новый объект, а лишь передаем ссылку на него.
Поскольку Numpy более гибкий, то и инструментов у него больше:
Представление (поверхностное копирование) и глубокое копирование.
Представление - позволяет как угодно изменять форму, но при изменении данных меняются данные и у изначального массива. Можно получить через срез.
Глубокое копирование - создается новый объект, который не имеет ничего общего со старым (кроме набора данных, но хранятся они уже в разных ячейках памяти)
#numpy
Ранее мы уже говорили про такую проблему со списками, когда при присваивании новой переменной и последующем изменении изначальный список тоже меняется. Такая же ситуация происходит и в numpy. По умолчанию мы не создаем новый объект, а лишь передаем ссылку на него.
Поскольку Numpy более гибкий, то и инструментов у него больше:
Представление (поверхностное копирование) и глубокое копирование.
Представление - позволяет как угодно изменять форму, но при изменении данных меняются данные и у изначального массива. Можно получить через срез.
Глубокое копирование - создается новый объект, который не имеет ничего общего со старым (кроме набора данных, но хранятся они уже в разных ячейках памяти)
#numpy
TKinter. Добавление панели меню
Для добавления панели меню, используйте класс Menu
Сначала мы создаем меню, затем добавляем наш первый пункт подменю. Можно добавить пункты в любое меню с помощью метода add_cascade(). Можно добавить столько пунктов меню, сколько захотите.
Теперь мы добавляем еще один пункт меню “Изменить” с разделителем меню. Вы можете заметить пунктирную линию в начале. Если вы нажмете на эту строку, она отобразит пункты меню в небольшом отдельном окне.
Можно отключить эту функцию, с помощью tearoff подобным образом:
Для добавления панели меню, используйте класс Menu
Сначала мы создаем меню, затем добавляем наш первый пункт подменю. Можно добавить пункты в любое меню с помощью метода add_cascade(). Можно добавить столько пунктов меню, сколько захотите.
Теперь мы добавляем еще один пункт меню “Изменить” с разделителем меню. Вы можете заметить пунктирную линию в начале. Если вы нажмете на эту строку, она отобразит пункты меню в небольшом отдельном окне.
Можно отключить эту функцию, с помощью tearoff подобным образом:
= Menu(menu, tearoff=0)#tkinter
TKinter. Вкладки
Сначала с помощью класса Notebook создается элемент управления вкладкой. Потом создается вкладка через класс Frame.
Далее добавляйте эту вкладку в элемент управления вкладками. Запакуйте элемент управления вкладкой, чтобы он стал видимым в окне.
Так вы можете добавлять столько вкладок, сколько нужно. После создания вкладок вы можете поместить виджеты внутри этих вкладок, назначив родительское свойство нужной вкладке.
#tkinter
Сначала с помощью класса Notebook создается элемент управления вкладкой. Потом создается вкладка через класс Frame.
Далее добавляйте эту вкладку в элемент управления вкладками. Запакуйте элемент управления вкладкой, чтобы он стал видимым в окне.
Так вы можете добавлять столько вкладок, сколько нужно. После создания вкладок вы можете поместить виджеты внутри этих вкладок, назначив родительское свойство нужной вкладке.
#tkinter
Как стать бизнес-аналитиком за 10 месяцев
Бизнес-аналитики — это универсальные экономисты. Они помогают бизнесу правильно использовать финансы, находить слабые места и оптимиз:ировать другие бизнес процессы. Эта профессия востребована и актуальна: любому бизнесу нужно быть лучше. А бизнес-аналитики получают за эту помощь высокую зарплату.
На курсе «Бизнес-аналитик» от SF Education профессионалы из крупных организаций, обладающие международными сертификациями, учат выстраивать процессы для роста бизнеса и увеличения прибыли. За 6 часов в неделю вы поймёте, как формируется бюджет компании, изучите четыре языка программирования и под присмотром куратора овладеете методиками эффективного планирования. Более того: вам помогут в карьере и выдадут диплом. А после курса вы найдёте первую работу в бизнес-аналитике!
Запишитесь на курс со скидкой 40% по промокоду SFPROMO.
Также рассмотрите другие курсы SF Education для финансистов: «Школа инвестиций», «Финансовый аналитик», «Подготовка к экзамену CFA Level 1» и другие, на них действуют скидки до 65% до 30 июня.
Бизнес-аналитики — это универсальные экономисты. Они помогают бизнесу правильно использовать финансы, находить слабые места и оптимиз:ировать другие бизнес процессы. Эта профессия востребована и актуальна: любому бизнесу нужно быть лучше. А бизнес-аналитики получают за эту помощь высокую зарплату.
На курсе «Бизнес-аналитик» от SF Education профессионалы из крупных организаций, обладающие международными сертификациями, учат выстраивать процессы для роста бизнеса и увеличения прибыли. За 6 часов в неделю вы поймёте, как формируется бюджет компании, изучите четыре языка программирования и под присмотром куратора овладеете методиками эффективного планирования. Более того: вам помогут в карьере и выдадут диплом. А после курса вы найдёте первую работу в бизнес-аналитике!
Запишитесь на курс со скидкой 40% по промокоду SFPROMO.
Также рассмотрите другие курсы SF Education для финансистов: «Школа инвестиций», «Финансовый аналитик», «Подготовка к экзамену CFA Level 1» и другие, на них действуют скидки до 65% до 30 июня.
Pyautogui
Очень интересная по своим возможностям библиотека. Она позволяет манипулировать указателем (мышкой) и клавиатурой прямо из кода.
Можно написать простейший кликер и "фармить" быстрее других игроков. Можно автоматизировать часть своей работы, а некоторые умудрились обмануть начальство имитируя работу на компьютере благодаря данной библиотеке (существуют программы, отслеживающие работает ли человек за ПК).
Мы показываем базовое управление, больше информации ищите в документации.
#pyautogui
Очень интересная по своим возможностям библиотека. Она позволяет манипулировать указателем (мышкой) и клавиатурой прямо из кода.
Можно написать простейший кликер и "фармить" быстрее других игроков. Можно автоматизировать часть своей работы, а некоторые умудрились обмануть начальство имитируя работу на компьютере благодаря данной библиотеке (существуют программы, отслеживающие работает ли человек за ПК).
Мы показываем базовое управление, больше информации ищите в документации.
#pyautogui
Миф, в который все верят, — в 2021 году невозможно открыть свой бизнес. Нужны миллионы для старта, все ниши заняты и придется платить большие налоги — так и до банкротства недалеко.
Но это ложь. Хватит 300 рублей и годной идеи, чтобы запустить прибыльный бизнес. И не надо искать эти идеи самостоятельно — всё есть на канале @delaumoney.
Кейсы, лайфхаки, фишки и готовые бизнес-идеи — это прямо путеводитель по открытию своего дела. Посмотрели — изучили — запустили.
И вы тоже сможете открыть свой бизнес. А @delaumoney поможет, дерзайте.
Но это ложь. Хватит 300 рублей и годной идеи, чтобы запустить прибыльный бизнес. И не надо искать эти идеи самостоятельно — всё есть на канале @delaumoney.
Кейсы, лайфхаки, фишки и готовые бизнес-идеи — это прямо путеводитель по открытию своего дела. Посмотрели — изучили — запустили.
И вы тоже сможете открыть свой бизнес. А @delaumoney поможет, дерзайте.
Кодинг кодингом, но чтобы попасть в топовую компанию надо пройти одного важного зверя — собеседование. И даже не одно.
Поэтому решили сделать для вас подборку полезных статей по собеседованиям. Каждый найдет что-то интересное для себя. Читайте, изучайте и применяйте
1. Работа со строками в Python. Взгляд глазами интервьюера.
2. Вопросы на собеседовании. Часть I. Junior.
3. Вопросы на собеседовании. Часть II. Middle.
4. Вопросы на собеседовании. Часть III. Senior
3. Типизация данных.
Поэтому решили сделать для вас подборку полезных статей по собеседованиям. Каждый найдет что-то интересное для себя. Читайте, изучайте и применяйте
1. Работа со строками в Python. Взгляд глазами интервьюера.
2. Вопросы на собеседовании. Часть I. Junior.
3. Вопросы на собеседовании. Часть II. Middle.
4. Вопросы на собеседовании. Часть III. Senior
3. Типизация данных.
20-21 июля в OTUS пройдет открытый интенсив для тех, кто хочет работать с большими данными. После двухдневного обучения вы сможете выводить модель в продакшн с помошью AWS:
- Узнаете, как использовать lambda и нюансы работы с IoT данными
- Научитесь выводить модель в продакшн без сложных настроек системы
Кроме того, интенсив — это возможность попробовать онлайн-курс «Промышленный ML на больших данных». Для участия в занятии пройдите вступительный тест https://otus.pw/wW8a/
- Узнаете, как использовать lambda и нюансы работы с IoT данными
- Научитесь выводить модель в продакшн без сложных настроек системы
Кроме того, интенсив — это возможность попробовать онлайн-курс «Промышленный ML на больших данных». Для участия в занятии пройдите вступительный тест https://otus.pw/wW8a/
Управляем браузером. Библиотека Selenium.
При выполнении данного кода откроется браузер Firefox и перейдет на сайт google.com.
Возможности:
1. Автоматизация работы браузера.
2. Парсинг сайтов.
3. Нажатие на кнопки.
4. Эмуляция различных действий пользователя.
5. Отправка GET/POST запросов.
6. Открытие окон.
7. Поддержка основных браузеров.
Документация, установка.
При выполнении данного кода откроется браузер Firefox и перейдет на сайт google.com.
Возможности:
1. Автоматизация работы браузера.
2. Парсинг сайтов.
3. Нажатие на кнопки.
4. Эмуляция различных действий пользователя.
5. Отправка GET/POST запросов.
6. Открытие окон.
7. Поддержка основных браузеров.
Документация, установка.
Прикоснитесь к миру разработки на Python! Пройдите бесплатный интенсив Skillbox и начните осваивать один из самых распространённых языков программирования.
Регистрируйтесь: 👉 https://clc.am/GZ0NiQ.
📌 Освоите азы программирования на Python и разберёте основные элементы языка.
📌 Поработаете с библиотеками PyQT, Kivy, wxWidgets, tkinter и поймёте основы сетевого ПО.
📌 Напишете интерфейс мессенджера на Python на практических занятиях.
⭐️ Спикер интенсива технический директор Lia, Python-разработчик с опытом более 7 лет — Никита Левашов.
🎁🎁🎁 Сдайте домашнее задание и получите сертификат стоимостью 15 000 рублей на любой онлайн-курс Skillbox!
Ждём вас в прямом эфире с 5 по 7 июля, в 21:00 по московскому времени 😉
Регистрируйтесь: 👉 https://clc.am/GZ0NiQ.
📌 Освоите азы программирования на Python и разберёте основные элементы языка.
📌 Поработаете с библиотеками PyQT, Kivy, wxWidgets, tkinter и поймёте основы сетевого ПО.
📌 Напишете интерфейс мессенджера на Python на практических занятиях.
⭐️ Спикер интенсива технический директор Lia, Python-разработчик с опытом более 7 лет — Никита Левашов.
🎁🎁🎁 Сдайте домашнее задание и получите сертификат стоимостью 15 000 рублей на любой онлайн-курс Skillbox!
Ждём вас в прямом эфире с 5 по 7 июля, в 21:00 по московскому времени 😉
Как в Python удалить файл или папку
Сегодняшний короткий пост посвящен вопросу удаления файлов или папок посредством Python.
Для простого удаления файлов и папок используется стандартная библиотека os.
— Для удаления файлов используем функцию
Сегодняшний короткий пост посвящен вопросу удаления файлов или папок посредством Python.
Для простого удаления файлов и папок используется стандартная библиотека os.
— Для удаления файлов используем функцию
remove()
— Для удаления папки используем функцию rmdir()
— Для удаления папки и в ней содержимого используем shutil.rmtree()
Совет на весь 2021 год: научитесь программировать. Тогда вы сможете спокойно уехать за границу и попасть в любую топовую компанию — хоть в Яндекс, хоть в Apple. А зарплаты ITишников начинаются от 3000$.
Для этого не нужно зубрить тонну курсов и учебников. Достаточно просто читать канал Кабинет Программиста, следовать инструкциям и получить результат.
Автор работает разработчиком в Google, поэтому шарит, что нужно учить, на что лучше забить, что актуально в 2021 году, какие книги почитать.
Подписывайтесь и изучайте, потом сами себе спасибо скажете: @prgrcab
Для этого не нужно зубрить тонну курсов и учебников. Достаточно просто читать канал Кабинет Программиста, следовать инструкциям и получить результат.
Автор работает разработчиком в Google, поэтому шарит, что нужно учить, на что лучше забить, что актуально в 2021 году, какие книги почитать.
Подписывайтесь и изучайте, потом сами себе спасибо скажете: @prgrcab
Как в Python используется оператор +
Прежде чем приступить к методам append() и extend(), давайте посмотрим, как происходит конкатенация (объединение) списков при помощи оператора +.
Допустим, у нас есть два списка, list1 и list2, которые мы хотим объединить (то есть склеить вместе два целых списка).
Если вы внимательно прочтете приведенный выше код, вы заметите следующие вещи:
• list1 + list2 не добавляет элементы из list2 в list1.
• Вместо этого создается новый список, содержащий элементы из list1 и list2.
• В результате сами списки list1 и list2 остаются в первозданном виде.
Есть методы с использованием append() и extend().
Прежде чем приступить к методам append() и extend(), давайте посмотрим, как происходит конкатенация (объединение) списков при помощи оператора +.
Допустим, у нас есть два списка, list1 и list2, которые мы хотим объединить (то есть склеить вместе два целых списка).
Если вы внимательно прочтете приведенный выше код, вы заметите следующие вещи:
• list1 + list2 не добавляет элементы из list2 в list1.
• Вместо этого создается новый список, содержащий элементы из list1 и list2.
• В результате сами списки list1 и list2 остаются в первозданном виде.
Есть методы с использованием append() и extend().
Блок else в циклах for и while
Цикл while используется для выполнения условия до тех пор, пока оно не будет оценено как истинное.
Цикл for используется для повторения определенных строк кода в программе. Предположим, вы хотите напечатать числа до 10, вы можете сделать это, набрав 10 операторов печати или используя цикл for. Цикл for повторяет часть программы на основе последовательности.
В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break.
Рассмотрим это на примере функции, ищущей иголку (needle) в стоге сена (haystack).
Цикл while используется для выполнения условия до тех пор, пока оно не будет оценено как истинное.
Цикл for используется для повторения определенных строк кода в программе. Предположим, вы хотите напечатать числа до 10, вы можете сделать это, набрав 10 операторов печати или используя цикл for. Цикл for повторяет часть программы на основе последовательности.
В Python циклы for и while могут содержать блок else, который выполнится, только если цикл завершится без применения break.
Рассмотрим это на примере функции, ищущей иголку (needle) в стоге сена (haystack).
Как становиться богаче каждый день
Просто читайте проверенную аналитику рынка. Упал самолёт — акции Boeing упали вместе с ним. Очередная волна эпидемии — рост экосистем IT-гигантов и бедствие туризма
В мире происходит многое, поэтому акции гуляют туда-сюда. И что же вам мешает вложить 500 рублей, чтобы вынуть 5000?
Подписывайтесь на канал НЭП
Автор с 20-летним опытом инвестирования выжимает лучшее из прогнозов ведущих экспертов и простым языком объясняет:
~ По каким правилам стоит играть с Центральным Банком
~ Что ожидать от нефтяного рынка и стриминговых платформ
~ И главное — как извлекать из этого всего выгоду
В общем, сохраняйте, изучайте и богатейте. Лучше уже не будет : @bizlike_news
Просто читайте проверенную аналитику рынка. Упал самолёт — акции Boeing упали вместе с ним. Очередная волна эпидемии — рост экосистем IT-гигантов и бедствие туризма
В мире происходит многое, поэтому акции гуляют туда-сюда. И что же вам мешает вложить 500 рублей, чтобы вынуть 5000?
Подписывайтесь на канал НЭП
Автор с 20-летним опытом инвестирования выжимает лучшее из прогнозов ведущих экспертов и простым языком объясняет:
~ По каким правилам стоит играть с Центральным Банком
~ Что ожидать от нефтяного рынка и стриминговых платформ
~ И главное — как извлекать из этого всего выгоду
В общем, сохраняйте, изучайте и богатейте. Лучше уже не будет : @bizlike_news
Как ускорить код при помощи векторизации?
Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.
По сути, самым лучшим способом для ускорения любого цикла - это полный отказ от него. В примере выше для работы с функцией
Вообще, vectorize преображает функцию таким образом, что она целиком принимает весь вектор, а не ее отдельные элементы. Только знайте, что такой прием не всегда ускорит ее в значительной степени.
Лучшее решение — векторизация вычислений. Простыми словами: использование функций, которые поддерживают операцию над векторами.
По сути, самым лучшим способом для ускорения любого цикла - это полный отказ от него. В примере выше для работы с функцией
my_func
мы легко могли бы обойтись вызовом ее в цикле для каждого элемента списка, но еще проще будет использовать vectorize.Вообще, vectorize преображает функцию таким образом, что она целиком принимает весь вектор, а не ее отдельные элементы. Только знайте, что такой прием не всегда ускорит ее в значительной степени.
Генерируем QR-код при помощи Python
QR-код — это один из видов матричного штрихкода. Оптическая метка, которую могут считывать машины и которая содержит информацию о каком-либо предмете. На практике QR-коды часто содержат указатели на сайт или приложение.
В этом руководстве мы расскажем вам, как генерировать QR-коды, используя Python и библиотеку qrcode.
Установим необходимые зависимости:
Итак, давайте начнем генерацию QR-кодов. Библиотека qrcode очень облегчает этот процесс. (см картинку выше)
Изображение будет сохранено в новом файле site.png в текущей директории.
Вот и все! Теперь вы можете создать подобную функцию для генерации QR-кодов в своих собственных приложениях!
QR-код — это один из видов матричного штрихкода. Оптическая метка, которую могут считывать машины и которая содержит информацию о каком-либо предмете. На практике QR-коды часто содержат указатели на сайт или приложение.
В этом руководстве мы расскажем вам, как генерировать QR-коды, используя Python и библиотеку qrcode.
Установим необходимые зависимости:
install pillow qrcodeГенерация QR-кода
Итак, давайте начнем генерацию QR-кодов. Библиотека qrcode очень облегчает этот процесс. (см картинку выше)
Изображение будет сохранено в новом файле site.png в текущей директории.
Вот и все! Теперь вы можете создать подобную функцию для генерации QR-кодов в своих собственных приложениях!