Разделяем строку dataframe на две колонки: использование '<fips>'

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Метод str.split() с параметром expand=True позволяет разбить столбец dataframe на два отдельных столбца.

Python
Скопировать код
data[['хлеб', 'начинка']] = data['column'].str.split(' ', 1, expand=True)

Так, в вашем data отобразятся новые столбцы: хлеб и начинка.

Кинга Идем в IT: пошаговый план для смены профессии

Сложные разделения: применение регулярных выражений и extract()

В некоторых случаях столбец нужно разделять более тонко, чем просто на части. Для этого подходит метод str.extract() с использованием регулярных выражений:

Python
Скопировать код
df[['первый', 'второй']] = df['column'].str.extract(r'(\w+)\W+(\w+)')

Знание регулярных выражений крайне важно в таких операциях. Пример использования именованных групп в регулярных выражениях:

Python
Скопировать код
df[['первый', 'второй']] = df['column'].str.extract(r'(?P<первый>\w+)\W+(?P<второй>\w+)')

Обработка пропусков

При неравномерном разделении могут появиться пропущенные значения:

Python
Скопировать код
df['column'].str.split(' ', expand=True).notnull().all(axis=1)

Этот код позволит проверить новые столбцы на наличие пропусков.

Основное и последующее действия: переименование, слияние, удаление

После разделения нужно привести результаты к порядку. Можно комбинировать методы rename() и join(), чтобы добавить новые столбцы к dataframe:

Python
Скопировать код
df = df.join(df['column'].str.split(' ', 1, expand=True)
.rename(columns={0: 'первый', 1: 'второй'}))

После завершения операции, не забудьте удалить первоначальный столбец с помощью df.drop():

Python
Скопировать код
df.drop('column', axis=1, inplace=True)

Визуализация

Представьте столбец вашего dataframe как одну цепочку, которую вы хотите разделить на две части:

До: | Цепь 📿 | "Звено1, Звено2" |

После применения .str.split() произойдет следующее разделение:

После: | Звено1 📿 | Звено2 📿 |

Python
Скопировать код
df[['Звено1', 'Звено2']] = df['Цепь'].str.split(',', expand=True)

Теперь у вас есть два отдельных столбца, готовых к дальнейшей обработке!

Сложные случаи разделения? Нет проблем!

Если перед вами стоит сложная задача, регулярные выражения всегда вам в помощь:

Python
Скопировать код
df['column'].str.split('\s+', expand=True)

С помощью этого метода вы сможете обнаружить спрятанные пробелы в данных.

При разделении даты и времени важно соблюдать формат данных:

Python
Скопировать код
df[['дата', 'время']] = df['datetime'].str.split('T', expand=True)

С помощью .str.get() или .str[index] можно обращаться к элементам после разделения. Именно как секретный трюк:

Python
Скопировать код
df['первое_слово'] = df['column'].str.split().str.get(0)

Творческое извлечение и мощь extractall()

Используйте .str.extractall() для детального извлечения данных из столбца:

Python
Скопировать код
соответствия = df['column'].str.extractall(r'(\b\w+\b)')

Этот метод идеален для работы со столбцами, содержащими множество "скрытых сюрпризов".

Полезные материалы

  1. pandas.Series.str.split – ваш первый шаг в изучении str.split().
  2. Обзор типов данных в Pandas – познайте все уголки зоопарка Pandas.
  3. Объединение наборов данных – как управлять данными после их разделения.
  4. Уроки по очистке данных – всё, что нужно знать, чтобы поддерживать порядок в своих данных.
  5. 5 малоизвестных трюков с pandas – секретные методы совершенствования ваших данных.