itertools.pairwise
Разъяснивший Python
itertools.pairwise
возвращает пары соседних элементов из итерируемого объекта. Это полезно для сравнения, анализа трендов и работы с графами или координатами.Разъяснивший Python
Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥
🐍 Ghostly Python - Разбираем код, автоматизируем рутину, пишем ботов, скрипты и полезные утилиты. Все что нужно для уверенного старта в программировании на Python.
☕️ Easy Java - вскрываем Java изнутри. Все тонкости этого универсального языка в одном канале, врывайся!
😎 IT Syndicate - гигабайты свежего материала по всем направлениям. GameDev, InfoSec, Frontend - и это лишь малая часть..
Наше кредо — программирование не сложно, просто никто не объяснял нормально.
Please open Telegram to view this post
VIEW IN TELEGRAM
itertools.batched
Разъяснивший Python
itertools.batched
разбивает итерируемый объект на фиксированные группы. Это полезно для пакетной обработки данных, группировки и работы с потоками данных.Разъяснивший Python
👍2
Антипаттерн недели: Использование переменных с плавающим значением в качестве условий
В Python числа с плавающей точкой (
Избегайте прямого сравнения
Разъяснивший Python
В Python числа с плавающей точкой (
float
) могут вести себя неожиданно из-за погрешности вычислений. Это особенно критично при сравнении и использовании их в логических выражениях.Избегайте прямого сравнения
float
— используйте округление или math.isclose()
.Разъяснивший Python
Как удалить дубликаты из списка, сохранив порядок?
Часто нужно убрать повторяющиеся элементы из списка, но при этом сохранить их исходный порядок. Новички могут использовать циклы, но Python позволяет сделать это проще — с d
Этот приём позволяет удалить дубликаты за одну строку:
Итог:
Удаляет дубликаты за одну строку.
Сохраняет порядок элементов.
Работает быстро и эффективно!
Разъяснивший Python
Часто нужно убрать повторяющиеся элементы из списка, но при этом сохранить их исходный порядок. Новички могут использовать циклы, но Python позволяет сделать это проще — с d
ict.fromkeys()
.Этот приём позволяет удалить дубликаты за одну строку:
list(dict.fromkeys(list1))
создаёт словарь, где ключами становятся уникальные элементы в порядке их появления.Итог:
Удаляет дубликаты за одну строку.
Сохраняет порядок элементов.
Работает быстро и эффективно!
Разъяснивший Python
👍1
Как найти самое частое значение в списке?
Иногда нужно определить, какой элемент встречается в списке чаще всего. Новички могут использовать циклы и счётчики, но Python предлагает удобный способ —
Этот приём позволяет найти самый частый элемент за одну строку:
Итог:
Определяет самый частый элемент за одну строку.
Работает с числами, строками и любыми данными.
Удобно для анализа данных!
Разъяснивший Python
Иногда нужно определить, какой элемент встречается в списке чаще всего. Новички могут использовать циклы и счётчики, но Python предлагает удобный способ —
collections.Counter
.Этот приём позволяет найти самый частый элемент за одну строку:
Counter(list1).most_common(1)[0][0]
возвращает элемент с максимальной частотой. Итог:
Определяет самый частый элемент за одну строку.
Работает с числами, строками и любыми данными.
Удобно для анализа данных!
Разъяснивший Python
str.removeprefix
Разъяснивший Python
str.removeprefix
удаляет указанный префикс из строки, если он присутствует. Это полезно для очистки и нормализации данных без лишних условий и срезов.Разъяснивший Python
Как проверить, все ли элементы в списке одинаковые?
Иногда нужно убедиться, что все элементы в списке одинаковые. Новички могут использовать циклы, но Python предлагает элегантный способ —
Этот приём позволяет сделать проверку за одну строку:
Итог:
Проверяет список за одну строку.
Подходит для любых типов данных.
Упрощает валидацию данных!
Разъяснивший Python
Иногда нужно убедиться, что все элементы в списке одинаковые. Новички могут использовать циклы, но Python предлагает элегантный способ —
set
и all()
.Этот приём позволяет сделать проверку за одну строку:
len(set(list1)) == 1
— если в множестве только один элемент, значит, все элементы одинаковые.all(x == list1[0] for x in list1)
— проверяет, равны ли все элементы первому. Итог:
Проверяет список за одну строку.
Подходит для любых типов данных.
Упрощает валидацию данных!
Разъяснивший Python
❤2
Ускорение компиляции с помощью numba
Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
Разъяснивший Python
Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
Разъяснивший Python
🤯1
SDV - библиотека, разработанная учеными MIT, использующая алгоритмы машинного обучения для генерации различного рода таблиц при помощи анализа реальных данных и создания на их основе синтетических данных в Python.
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
В результате генерирует такую таблицу.
Ставится командой
Документация и примеры кода на Github
Разъяснивший Python
Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.
Пример кода:
from sdv.datasets.demo import download_demo
real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests')
В результате генерирует такую таблицу.
Ставится командой
pip install sdv
Документация и примеры кода на Github
Разъяснивший Python
Pandas: Удаление дубликатов
Разъяснивший Python
pandas.dropduplicates()
— метод в библиотеке pandas
, который используется для удаления дубликатов строк из DataFrame
. С помощью duplicated
ты можешь проверить, имеются ли дубликаты.Разъяснивший Python
Как объединить строки без цикла?
Когда нужно склеить несколько строк из списка в одну, новички часто используют цикл for и оператор +. Но в Python есть более быстрый и лаконичный способ — метод
Метод
Итог:
Работает быстро и читаемо.
Подходит для любых итерируемых объектов со строками.
Разъяснивший Python
Когда нужно склеить несколько строк из списка в одну, новички часто используют цикл for и оператор +. Но в Python есть более быстрый и лаконичный способ — метод
.join()
.Метод
join()
принимает список строк и объединяет их через указанный разделитель. Это работает гораздо эффективнее циклов и особенно полезно при работе с большими объёмами текста. Итог:
.join()
— лучший способ объединения строк.Работает быстро и читаемо.
Подходит для любых итерируемых объектов со строками.
Разъяснивший Python
dict.setdefault
Разъяснивший Python
dict.setdefault
возвращает значение по ключу, если он существует, или добавляет ключ со значением по умолчанию. Это полезно для группировки, счётчиков и инициализации вложенных структур.Разъяснивший Python
Как быстро получить уникальные значения из списка?
Когда нужно найти все уникальные элементы в списке, новички часто перебирают элементы вручную и добавляют их в новый список. Но Python предлагает простое и эффективное решение — использовать
Множество (
Итог:
Отлично подходит для быстрой фильтрации!
Разъяснивший Python
Когда нужно найти все уникальные элементы в списке, новички часто перебирают элементы вручную и добавляют их в новый список. Но Python предлагает простое и эффективное решение — использовать
set
.Множество (
set
) автоматически удаляет все повторяющиеся значения. А если нужно сохранить порядок, можно дополнительно применить dict.fromkeys().
Всё это делается буквально в одну строку! Итог:
set()
— простой способ убрать дубликаты.dict.fromkeys()
сохраняет порядок элементов.Отлично подходит для быстрой фильтрации!
Разъяснивший Python
❤2
enumerate
Разъяснивший Python
enumerate
добавляет индексы к элементам итерируемого объекта. Это полезно для одновременного доступа к элементу и его позиции в цикле.Разъяснивший Python
zip
Разъяснивший Python
zip
объединяет несколько итерируемых объектов в кортежи по элементам. Это полезно для параллельной обработки нескольких списков.Разъяснивший Python
Как быстро проверить, является ли строка числом?
При обработке пользовательского ввода важно понимать, содержит ли строка число. Новички могут пытаться использовать
Метод
Итог
Полезен при валидации ввода.
Работает только для положительных целых чисел.
Разъяснивший Python
При обработке пользовательского ввода важно понимать, содержит ли строка число. Новички могут пытаться использовать
try-except
или проверять вручную, но есть более элегантное решение — метод .isdigit()
.Метод
.isdigit()
возвращает True
, если строка состоит только из цифр. Это удобно, когда нужно, например, убедиться, что пользователь ввёл возраст или ID
. Итог
.isdigit()
— простой способ проверить, состоит ли строка только из цифр.Полезен при валидации ввода.
Работает только для положительных целых чисел.
Разъяснивший Python
Ridge и Lasso
Иногда простая линейная регрессия начинает чудить: переобучается, даёт нестабильные коэффициенты, особенно если в данных много признаков или они между собой похожи. Это называется мультиколлинеарность, и лечится оно регуляризацией — техникой, которая добавляет “штраф” за слишком сложную модель. В линейной регрессии это реализуется через Ridge (L2-регуляризация) и Lasso (L1-регуляризация).
Ridge-регрессия добавляет к ошибке сумму квадратов коэффициентов. В результате модель получает штраф за то, что “раздувает” веса. Чем больше alpha, тем сильнее сжимаются веса. Маленькое значение — почти обычная линейная регрессия, большое — всё приближается к нулям.
Lasso-регрессия штрафует за модули коэффициентов. То есть она не просто сжимает веса, а может вообще сделать некоторые из них равными нулю. Это превращает Lasso в инструмент для отбора признаков: она как бы говорит «этот признак не важен — выкину его сам».
Разъяснивший Python
Иногда простая линейная регрессия начинает чудить: переобучается, даёт нестабильные коэффициенты, особенно если в данных много признаков или они между собой похожи. Это называется мультиколлинеарность, и лечится оно регуляризацией — техникой, которая добавляет “штраф” за слишком сложную модель. В линейной регрессии это реализуется через Ridge (L2-регуляризация) и Lasso (L1-регуляризация).
Ridge-регрессия добавляет к ошибке сумму квадратов коэффициентов. В результате модель получает штраф за то, что “раздувает” веса. Чем больше alpha, тем сильнее сжимаются веса. Маленькое значение — почти обычная линейная регрессия, большое — всё приближается к нулям.
Lasso-регрессия штрафует за модули коэффициентов. То есть она не просто сжимает веса, а может вообще сделать некоторые из них равными нулю. Это превращает Lasso в инструмент для отбора признаков: она как бы говорит «этот признак не важен — выкину его сам».
Разъяснивший Python
re.sub
Разъяснивший Python
re.sub
заменяет все вхождения шаблона в строке на указанное значение. Это полезно для очистки и нормализации текста.Разъяснивший Python
Как удобно отформатировать строку с переменными?
Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!
F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!
Итог:
F-строки — самый читаемый и удобный способ форматирования.
Позволяют вставлять выражения прямо в строку.
Работают с любой версией Python 3.6+.
Разъяснивший Python
Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!
F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!
Итог:
F-строки — самый читаемый и удобный способ форматирования.
Позволяют вставлять выражения прямо в строку.
Работают с любой версией Python 3.6+.
Разъяснивший Python
👍1