Введение
В этом практическом занятии мы изучим, как обрабатывать текстовые данные с использованием библиотеки Pandas для Python. Вы научитесь преобразовывать символы строки в нижний регистр, извлекать части строк, заменять значения строк и многое другое с использованием различных встроенных методов Pandas.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки и данные
Начнем с импорта библиотеки Pandas и загрузки данных, которые мы будем использовать в этом уроке.
## Import necessary libraries
import pandas as pd
## Load the data
titanic = pd.read_csv("data/titanic.csv")
Преобразуем символы строки в нижний регистр
Далее мы преобразуем все символы в столбце Name в нижний регистр. Для этого мы используем метод str.lower().
## Convert all characters in the 'Name' column to lowercase
titanic["Name"] = titanic["Name"].str.lower()
Извлекаем фамилии из полных имен
Теперь создадим новый столбец Surname, который будет содержать фамилии пассажиров. Для этого мы извлечем часть имени, которая находится перед запятой в столбце Name.
## Split the 'Name' column on comma and extract the first part
titanic["Surname"] = titanic["Name"].str.split(",").str.get(0)
Извлекаем конкретные данные о пассажирах
Далее извлечем данные о пассажирах, которые были графинями на Титанике. Мы используем метод str.contains(), чтобы найти строки, в которых столбец Name содержит слово 'Countess'.
## Find rows where 'Name' contains 'Countess'
countesses = titanic[titanic["Name"].str.contains("Countess")]
Найдем самое длинное имя
Посмотрим, какой пассажир Титаника имеет самое длинное имя. Мы используем метод str.len(), чтобы получить длину каждого имени, и метод idxmax(), чтобы найти индекс самого длинного имени.
## Get the length of each name
name_lengths = titanic["Name"].str.len()
## Find the index of the longest name
longest_name_index = name_lengths.idxmax()
## Get the longest name
longest_name = titanic.loc[longest_name_index, "Name"]
Заменяем значения в столбце
Наконец, давайте заменим значения в столбце Sex: 'male' на 'M', а 'female' на 'F'. Для этого мы используем метод replace().
## Replace'male' with 'M' and 'female' with 'F' in the 'Sex' column
titanic["Sex_short"] = titanic["Sex"].replace({"male": "M", "female": "F"})
Резюме
В этом практическом занятии мы рассмотрели, как манипулировать текстовыми данными с использованием библиотеки Pandas для Python. Мы узнали, как преобразовать символы строки в нижний регистр, извлекать части строк, искать конкретные строки на основе содержания строки, искать самую длинную строку и заменять значения строк. Эти знания очень полезны при предобработке данных, которая является важным этапом в анализе данных и машинном обучении.