Header всему голова
.
Кому не знакомы странные наименования столбцов в таблицах, выгрузках или API, например,
.
ps: все же переименовывают при помощи
.
Попробуем автоматизировать этот процесс. На помощь нам придут замечательные регулярные выражения (тот самый модуль
.
Создаем функцию
- разделяет имена по заглавной букве
- переводит написание через нижнее подчеркивание
- переводит слова в LOWER CASE
Пользуйстесь наздоровье🙌
.
А вообще регулярки - это очень мощно, рекомендую обязательно ознакомится с фукнционалом модуля
- классная статья
- моя настольная книга
#regex #cameltosnake #code
.
Кому не знакомы странные наименования столбцов в таблицах, выгрузках или API, например,
deviceId или dReleaseDate. И каждый раз приходится ручками переименовывать, когда их 2-3 еще терпимо, но когда полей 20+, уже к 10 появляется 🤮.
ps: все же переименовывают при помощи
df.rename(columns={old_column_name: new_column_name}) 😉.
Попробуем автоматизировать этот процесс. На помощь нам придут замечательные регулярные выражения (тот самый модуль
re который ты обходил стороной и боялся как серебряной пули).
Создаем функцию
camel_to_snake, которая:- разделяет имена по заглавной букве
- переводит написание через нижнее подчеркивание
- переводит слова в LOWER CASE
import re.
def camel_to_snake(name):
name = re.sub('(.)([A-Z][a-z]+|[А-Я][а-я]+)', r'\1_\2', name)
return re.sub('([a-z]|[а-я])([A-Z]|[А-Я])', r'\1_\2', name).lower()
Пользуйстесь наздоровье🙌
.
А вообще регулярки - это очень мощно, рекомендую обязательно ознакомится с фукнционалом модуля
re:- классная статья
- моя настольная книга
#regex #cameltosnake #code
🔥5
Секреты 🐼as
.
А вы замечали, что пишите неэффективный\плохочитаемый (подставить любимое) код🤔
.
Нередко это связано с устоявшимися конструкциями, которые вы где-то увидели, набили на них руку или просто так было, когда вы изучали
.
Одна из задач в ML создание новых признкаков, при изучении временных рядов часто используется такой признак как moving average. При добавлении его необходимо исключить лик целевой, тк текущее значение входит в окно.
.
Нередко встречается такой код:
.
Исключили лишний метод, использовали встроенные аргументы - good work🤝
#code #pandas #refactor
.
А вы замечали, что пишите неэффективный\плохочитаемый (подставить любимое) код🤔
.
Нередко это связано с устоявшимися конструкциями, которые вы где-то увидели, набили на них руку или просто так было, когда вы изучали
pandas==0.23😎.
Одна из задач в ML создание новых признкаков, при изучении временных рядов часто используется такой признак как moving average. При добавлении его необходимо исключить лик целевой, тк текущее значение входит в окно.
.
Нередко встречается такой код:
df['ma'] = df['column'].shift().rolling().mean()Здесь
shift выполняет роль, исключающую текущее значение целевой (сдвигаем весь ряд на 1 позицию в будущее). В целом код понятен но перегружен дополнительным методом. Если заглянуть в доку к методу rolling то разработчики уже учли эту возможную проблему, а нам остается только воспользоваться:df['ma'] = df['column'].rolling(closed='left').mean()При такой опции
closed='left' - последнее значение в окне исключается из расчета, тем самым не будет создан лик целевой..
Исключили лишний метод, использовали встроенные аргументы - good work🤝
#code #pandas #refactor
Wikipedia
Moving average
type of statistical measure over subsets of a dataset
Идеальные данные для pandas
.
В этих данных не будет дубликатов, пропусков, некорректных значений и всех остальных наших проблем с данными🤩
.
Заинтригованы? Я нашел их - берите и пользуйтесь панда-данные
.
Попробуем решить одну из задачек - cloud of words для кого, конечно же, По😉
.
Здесь ссылка на google-colab. Осторожно основа кода сгенерирована ChatGPT😱
.
#data #code #practice
.
В этих данных не будет дубликатов, пропусков, некорректных значений и всех остальных наших проблем с данными🤩
.
Заинтригованы? Я нашел их - берите и пользуйтесь панда-данные
.
Попробуем решить одну из задачек - cloud of words для кого, конечно же, По😉
.
Здесь ссылка на google-colab. Осторожно основа кода сгенерирована ChatGPT😱
.
#data #code #practice