Open in Colab

Сделаем все имена символов строчными:

Чтобы перевести каждую строку в столбце Name в нижний регистр, необходимо выбрать столбец Name, добавить метод str и применить метод lower. Таким образом, каждая строка преобразуется поэлементно.

Подобно объектам datetime, имеющим средство доступа dt, при использовании str доступно несколько специальных строковых методов. Эти методы имеют совпадающие имена с эквивалентными встроенными строковыми методами для отдельных элементов, но применяются поэлементно для каждого из значений столбцов.

Создадим новый столбец Surname, содержащий фамилию пассажиров, извлекая часть перед запятой:

Используя метод Series.str.split(), каждое из значений возвращается в виде списка из 2 элементов. Первый элемент - это часть перед запятой, а второй элемент - часть после запятой.

Поскольку нас интересует только первая часть, представляющая фамилию (элемент 0), мы можем снова использовать str и применить метод Series.str.get() для извлечения соответствующей части.

Дополнительная информация об извлечении частей строк доступна в разделе руководства пользователя по разделению и замене строк.

Получим данные о графине на борту Титаника:

История в Википедии.

Строковый метод Series.str.contains() проверяет каждое из значений в столбце, содержит ли строка слово Countess и возвращает True (если Countess является частью имени) или False (Countess не является частью имени). Полученные данные могут быть использованы для фильтрации с использованием условного (логического) индексирования. Поскольку на Титанике была только 1 графиня, в результате мы получаем один ряд.

Методы Series.str.contains() и Series.str.extract() поддерживают механизм регулярных выражений.

Дополнительная информация об извлечении частей строк доступна в разделе руководства пользователя по сопоставлению и извлечению строк.

Определим, у какого пассажира самое длинное имя?

Чтобы получить самое длинное имя, сначала мы должны узнать длину каждого из имен в столбце Name, используя строковые методы pandas. Функция Series.str.len() применяется к каждому имени отдельно (поэлементно).

Затем необходимо получить соответствующее местоположение, желательно метку индекса в таблице, для которой длина имени самая большая. Метод idxmax() не строковый, он применяется к целым числам, поэтому не используется str.

Основываясь на индексном имени row (307) и столбце (Name), мы можем сделать выбор, используя оператор loc.

В столбце Sex замените значения male на M, а female - на F.

В pandas метод replace() предоставляет удобный способ использования отображений или словарей для замены определенных значений.

Полный обзор представлен на страницах руководства пользователя по работе с текстовыми данными.