Pro Python • IT
Открыть в Telegram
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию. Сотрудничество (реклама): @NotPriceMedia Канал на бирже : https://telega.in/c/PythonTechCode
Больше4 172
Подписчики
-124 часа
-107 дней
+9830 дней
Архив постов
4 172
Битрикс24
💻Один онлайн-сервис для совместной работы.
📱10+ инструментов.
✅0 денег.
Счастливые сотрудники. Прибыльный бизнес.
Регистрируйтесь и забирайте себе
Зарегистрироваться
#реклама 16+
office-online.bitrix24.ru
О рекламодателе
4 172
Дарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
4 172
😞 В чем разница между UNION и UNION ALL
Оба оператора UNION и UNION ALL используются для объединения результатов двух или более запросов SELECT, но они по-разному обрабатывают дублирующиеся записи.
😃 UNION (удаляет дубликаты)
Оператор UNION автоматически объединяет наборы результатов и удаляет дубликаты строк. Это приводит к тому, что в итоговом наборе данных остаются только уникальные записи. Он выполняет неявную операцию DISTINCT, что может повлиять на производительность, особенно при большом объеме данных.
SELECT employee_id, department_id FROM employees
UNION
SELECT employee_id, department_id FROM managers;
😄 UNION ALL (сохраняет дубликаты)
В отличие от UNION, оператор UNION ALL объединяет наборы результатов, не удаляя дубликаты. Это делает его более быстрым, так как не нужно выполнять операцию по исключению дубликатов.
SELECT employee_id, department_id FROM employees
UNION ALL
SELECT employee_id, department_id FROM managers;
Основные отличия:
😫 UNION удаляет дубликаты, что может привести к снижению производительности, особенно при работе с большими объемами данных.
😫 UNION ALL сохраняет все записи, включая дубликаты, что делает его более эффективным и быстрым вариантом для объединения данных.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code4 172
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
4 172
✅ Используйте Python, чтобы превратить неструктурированные данные в полезную информацию
Вот основные функции, которые вам нужно знать:
🔢𝗱𝗿𝗼𝗽𝗻𝗮(): очистите свой набор данных, удалив пропущенные значения. Используйте df.dropna(), чтобы исключить строки или столбцы с NaN и сохранить чистоту данных. 🔢 𝗳𝗶𝗹𝗹𝗻𝗮(): замените пропущенные значения указанным значением или методом. С помощью df.fillna(value) вы поддерживаете целостность данных, не теряя ценную информацию. 🔢 𝗱𝗿𝗼𝗽_𝗱𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗲𝘀(): убедитесь, что ваши данные уникальны и точны. Используйте df.drop_duplicates(), чтобы удалить дубликаты строк и избежать искажения анализа из-за агрегации избыточных данных. 🔢 𝗿𝗲𝗽𝗹𝗮𝗰𝗲(): замените определенные значения во всем наборе данных. Функция df.replace(to_replace, value) позволяет эффективно исправлять ошибки и стандартизировать данные. 🔢 𝗮𝘀𝘁𝘆𝗽𝗲(): преобразуйте типы данных для обеспечения согласованности и точности. Используйте функцию приведения df['column'].astype(dtype), чтобы убедиться, что столбцы данных находятся в правильном формате, необходимом для анализа. 🔢 𝗮𝗽𝗽𝗹𝘆(): применяйте пользовательские функции к своим данным. df['column'].apply(func) позволяет выполнять сложные преобразования и вычисления. Работает как со стандартными, так и с лямбда-функциями. 🔢 𝘀𝘁𝗿.𝘀𝘁𝗿𝗶𝗽(): Очищает текстовые данные, удаляя начальные и конечные пробелы. Использование df['column'].str.strip() помогает избежать труднообнаружимых ошибок при сравнении строк. 🔢 𝘃𝗮𝗹𝘂𝗲_𝗰𝗼𝘂𝗻𝘁𝘀(): Получает краткую сводку частоты значений в столбце. df['column'].value_counts() помогает понять распределение ваших данных. 🔢 𝗽𝗱.𝘁𝗼_𝗱𝗮𝘁𝗲𝘁𝗶𝗺𝗲(): преобразует строки в объекты datetime для точной обработки даты и времени. Для анализа временных рядов использование pd.to_datetime(df['column']) часто будет одним из ваших первых шагов в подготовке данных. 🔢🔢 𝗴𝗿𝗼𝘂𝗽𝗯𝘆(): агрегирует данные на основе определенных столбцов. Используйте df.groupby('column') для выполнения таких операций, как сумма, среднее значение или подсчет сгруппированных данных.⚠️Чтобы использовать указанные функции для обработки и анализа данных в Python, вам нужна библиотека Pandas. ✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code4 172
6 свободных мест на курс Коммутаторы MES продвинутый
Осталось 6 мест:
- 3 очных
- 3 дистанционных
Использование коммутаторов MES (продвинутый)
Даты - 24.03-28.03 (5 дней)
Другие курсы:
Март:
Коммутаторы MES (базовый уровень) - 10.03 - 14.03 - 4 места
Апрель:
Маршрутизаторы ESR (продвинутый уровень) - 31.03 - 04.04 - 8 мест
Коммутаторы MES (базовый уровень) - 07.04 - 11.04 - 8 мест
Записаться
#реклама 16+
eltexcm.ru
О рекламодателе
4 172
Как масштабировать команду? — Нанять аутсорс
А как проще всего работать с аутсорсерами?
— В Битрикс24 Коллабах. Это платформа для работы с внешними специалистами внутри вашего Битрикс24.
Выглядит как чат, только удобнее. Встроены задачи, встречи, файлы. Для коротких и долгосрочных проектов. Особенно удобно для взаимодействия команд, где обсуждается несколько параллельных задач.
Узнать больше
#реклама 16+
collabs.bitrix24.ru
О рекламодателе
4 172
🤔 Если вы работаете с большими наборами данных, формат CSV может оказаться не лучшим вариантом
Формат CSV отлично подходит для обработки небольших наборов данных, однако, при работе с большими объемами информация может стать проблемой.
✅ Здесь в игру вступают бинарные форматы. Эти файлы состоят из нулей и единиц и не могут быть прочитаны человеком, но они обеспечивают высокую эффективность для программ.
Преимущество бинарных форматов в том, что они занимают меньше места и обеспечивают более высокую скорость обработки по сравнению с CSV.✅ Одним из известных бинарных форматов является Parquet. Этот формат значительно эффективнее использует память по сравнению с CSV.
Например, если запись данных в CSV-файл может занять почти 2 минуты, то процесс записи в Parquet может завершиться всего за 8 секунд.✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code4 172
IT-аутстаффинг
Ежедневно публикуем запросы на аутстаффинг разработчиков Java, Python, Flutter, C#, 1С и других ИТ-специалистов. Есть свой резерв, готовый прямо сейчас влиться в ваш проект. Посмотрите в канале наших свободных разработчиков.
Подписаться
#реклама
О рекламодателе
4 172
Виртуальный сервер в аренду в Турции или России.
Отказоустойчивый виртуальный облачный сервер на базе виртуализации VMWARE по модели подписки.
- Бесплатная миграция инфраструктуры в Турцию
- Размещайте ресурсы в Турции или России и оплачивайте в рублях, турицких лирах или евро.
- Храните резервные копии данных за рубежом для минимизации рисков
- Продолжайте использовать импортное ПО, скачивайте обновления и патчи, общайтесь с техподдержкой
- Доступность сервиса — от 99,982% SLA
- Дата центры Tier III в России и Турции
- Почасовой биллинг и постоплата
Подключите услугу сегодня со скидкой 50% на инфраструктуру.
Подать заявку
#реклама
cloud4y.ru
О рекламодателе
4 172
🟠 Процесс доставки программного обеспечения в продакшн
Процесс доставки кода в продакшн может варьироваться в зависимости от компании и использованных инструментов, но в большинстве случаев он включает следующие шаги:
Шаг 🌸: Сбор требований Владелец продукта формулирует требования и создает пользовательские истории, которые отражают потребности клиентов и бизнес-цели. Шаг 🌸: Приоритизация и планирование Команда разработчиков определяет приоритеты для пользовательских историй и планирует спринты, в течение которых будут реализованы эти требования. Шаг 🌸: Коммит кода Разработчики выполняют коммиты кода в систему контроля версий (например, Git), что позволяет отслеживать изменения и сотрудничать более эффективно. Шаг 🌸: Автоматизация сборки и тестирования Сервер непрерывной интеграции автоматически собирает код и запускает тесты. Проводятся проверки покрытия кода и анализ качества, чтобы убедиться, что все изменения соответствуют стандартам. Шаг 🌸: Сохранение артефактов Если сборка успешна, результаты (артефакты) сохраняются в репозитории артефактов. После этого сборка разворачивается в среде разработчиков для дальнейшего тестирования. Шаг 🌸: Изолированное тестирование Функции тестируются независимо в нескольких изолированных средах, чтобы гарантировать, что они не влияют на другие части системы. Шаг 🌸: Тестирование качества Команда контроля качества (QA) проводит тестирование функций в специализированных средах, используя различные виды тестирования (функциональное, регрессионное, нагрузочное и т.д.). Шаг 🌸: Тестирование на этапе пользовательского принятия После успешного прохождения всех проверок, сборка разворачивается в среду для тестирования пользовательского принятия (UAT), где конечные пользователи могут валидировать функциональность перед релизом. Шаг 🌸: Развертывание в продакшн Кандидаты на релиз, которые успешно прошли все тесты, могут быть развернуты в продакшне в соответствии с графиком выпуска. Для управления рисками применяются фиче-флаги и методы постепенного развертывания. Шаг 🌸: Мониторинг и управление инцидентами Команда по надежности сайта (SRE) мониторит продакшен для выявления возможных проблем и сообщает о них. Команды приоритизируют и устраняют неполадки в соответствии с установленными политиками.✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code4 172
🏠 Оконные функции в SQL — это инструмент для выполнения вычислений над набором строк, связанных с текущей строкой
Они позволяют выполнять сложные аналитические запросы без необходимости использования подзапросов или временных таблиц.
🔘RANK() — присваивает ранг каждой строке в разделе на основе указанного столбца или значения, при этом могут быть пропуски в рангах, если есть одинаковые значения. 🔘DENSE_RANK() — присваивает ранг каждой строке, не пропуская значения ранга, даже если есть одинаковые значения. 🔘ROW_NUMBER() — присваивает уникальное целое число каждой строке в разделе на основе порядка строк, без пропусков. 🔘LEAD() — извлекает значение из следующей строки в том же разделе, основываясь на указанном столбце или выражении. 🔘LAG() — извлекает значение из предыдущей строки в том же разделе, основываясь на указанном столбце или выражении. 🔘NTH_VALUE() — извлекает n-ное значение в разделе по указанному порядку, при этом может возвращать NULL, если n больше, чем количество строк. 🔘FIRST_VALUE() — извлекает первое значение в разделе на основании указанного порядка.✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code