Основные функции Pandas, которые помогут вам в предварительной обработке данных

Если вы работаете в Data Science, вы должны быть знакомы с Pandas.

Специально разработанный для выполнения задач предварительной обработки данных, Pandas имеет множество функций, которые могут сделать управление, очистку, визуализацию и получение данных чрезвычайно легкими. И, как известно, значительная часть времени специалистов по данным уходит на преобразование данных в чистый и понятный формат для машинного обучения.

В этой статье я рассмотрю основные функции Pandas, которые значительно упростили мою жизнь в качестве стажера Data Science.
В этой статье я буду использовать набор данных Titanic от Kaggle. Давайте начнем.

Загрузка данных в формате.

data = pd.read_csv('train.csv')
data

1) data.isnull (). Sum ()

Первая команда, которую я хотел бы рассмотреть, - это «data.isnull (). Sum ()», которая дает нам количество нулевых значений, присутствующих в нашем наборе данных.

Перед тем, как начать какую-либо задачу предварительной обработки, необходимо проверить, какое количество нулевых значений присутствует в нашем наборе данных. Таким образом, мы можем либо удалить, либо присвоить значения NULL, и приведенная ниже команда делает именно это.

Давайте проверим вывод

data.isnull().sum()

2) data.fillna ()

У нас есть ряд нулевых значений, с которыми нужно иметь дело.

data.fillna () заменяет все нулевые значения на значение по нашему выбору. Давайте используем его в столбцах "Начал" и "Возраст".

В столбце «Прошло» три значения: «S», «C» и «Q». Я хотел бы вменять нулевые значения «наиболее часто встречающемуся значению» или «режиму» начатого столбца, тогда как столбец «Возраст» может быть вменен «средним значением столбца« Возраст »

Режим столбца «Вышло» и среднее значение столбца «Возраст» можно представить как

data['Embarked'].mode()[0]
data['Age'].mean()

И мы можем добавить это в наш код data.fillna (), чтобы присвоить нулевые значения.

data['Embarked'] = data['Embarked'].fillna(data['Embarked'].mode()[0])
data['Age'] = data['Age'].fillna(data['Age'].mean())

3) .Label Encoder.

При работе с категориальными значениями необходимо понимать, как можно отобразить категориальные переменные в числовые категориальные переменные.

К счастью, в библиотеке sci-kit Learning есть библиотека LabelEncoder, которая поможет нам в этом позаботиться.

В приведенном выше примере я хотел бы преобразовать значения в столбцах «Пол» и «Принято» в числовые значения. Давай проверим.

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(data['Sex'])
data['Sex'] = le.transform(data['Sex'])
data
le = preprocessing.LabelEncoder()
le.fit(data['Embarked'])
data['Embarked'] = le.transform(data['Embarked'])
data

Мы получаем:

4) data.drop ()

Бывают ситуации, когда нам не нужны определенные столбцы как часть фрейма данных, и поэтому мы должны знать, как удалить их.

Файл data. Функция drop () дает нам возможность удалять столбцы, которые нам не нужны. Уберем столбцы «Билет», «Каюта» и «Имя».

data.drop(['Name','Ticket','Cabin'],axis=1,inplace=True)
data

«Axis = 1» сообщает пандам, что мы удаляем «столбцы», а «inplace = True» делает изменение постоянным.

Мы получаем:

5) data.corr ()

Функция data.corr () помогает нам понять корреляцию всех переменных, присутствующих в наборе данных, и помогает нам выбирать переменные для части проекта, связанной с машинным обучением. Давайте попробуем

data.corr()

Приведенная выше таблица очень удобна для нас, чтобы понять, какие переменные сильно коррелированы друг с другом.

6) данные [«название столбца»]. value_counts ()

Теперь, когда наши данные очищены и обработаны, я хотел бы перейти к анализу различных столбцов нашего фрейма данных.

У нас есть столбец «Выжившие», в котором выжившие помечены как 1, а люди, которые не выжили, помечены как 0.

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

data['Survived'].value_counts()

Реализация приведенной выше команды дает нам:

Мы можем реализовать указанную выше команду для всех столбцов, чтобы проанализировать фрейм данных.

7) data.groupby ()

Groupby - чрезвычайно удобная функция, которая дает нам «агрегированное среднее» или «агрегированную сумму» наших значений. Например:

Давайте сгруппируем весь фрейм данных в столбце «Выжившие» и найдем среднее значение.

data.groupby('Survived').mean()

В результате мы получаем:

Глядя на групповую таблицу, мы видим, что люди, которые не выжили, были немного старше по возрасту, чем те, кто выжил, но имели очень низкий тариф, что указывает на разницу в классе. Функцию groupby можно применить к любому столбцу по нашему выбору, чтобы лучше понимать данные.

Заключение

Я рассмотрел 7 основных функций Pandas, которые чрезвычайно удобны, когда дело доходит до предварительной обработки данных. Команд гораздо больше, чем те, которые я только что упомянул, и я, надеюсь, рассмотрю их в некоторых из моих следующих статей.