EDA — исследовательский анализ данных: использование функций Python
В предыдущих статьях мы видели, как выполнять EDA с помощью графических методов. В этой статье мы сосредоточимся на функциях Python, используемых для исследовательского анализа данных в Python. Как мы все знаем, насколько важна EDA, она обеспечивает краткое понимание данных. Итак, не теряя много времени, приступим!
Исследовательский анализ данных — EDA
- EDA применяется для изучения данных и обобщения основных выводов.
- Это даст вам общее представление о ваших данных, их распределении, нулевых значениях и многом другом.
- Вы можете исследовать данные с помощью графиков или некоторых функций Python.
- Будет два типа анализа. Одномерный и двумерный. В одномерном анализе вы будете анализировать один атрибут. Но в двумерном анализе вы будете анализировать атрибут с целевым атрибутом.
- При неграфическом подходе вы будете использовать такие функции, как форма, сводка, описание, isnull, информация, типы данных и другие.
- При графическом подходе вы будете использовать такие графики, как точечные, прямоугольные, гистограммы, графики плотности и корреляции.
Загрузите данные
Ну, обо всем по порядку. Мы загрузим титанический набор данных в python для выполнения EDA.
#Load the required libraries
import pandas as pd
import numpy as np
import seaborn as sns
#Load the data
df = pd.read_csv('titanic.csv')
#View the data
df.head()
Наши данные готовы к исследованию!
1. Основная информация о данных - EDA
Функция df.info() предоставит нам основную информацию о наборе данных. Для любых данных хорошо начать со знания их информации. Давайте посмотрим, как это работает с нашими данными.
#Basic information
df.info()
#Describe the data
df.describe()
- Опишите данные — описательная статистика.
Используя эту функцию, вы можете увидеть количество нулевых значений, типов данных и использование памяти, как показано в приведенных выше выходных данных, вместе с описательной статистикой.
2. Повторяющиеся значения
Вы можете использовать функцию df.duplicate.sum() для суммирования дублирующихся значений, если таковые имеются. Он покажет количество повторяющихся значений, если они присутствуют в данных.
#Find the duplicates
df.duplicated().sum()
Итак, функция вернула «0». Это означает, что в нашем наборе данных нет ни одного повторяющегося значения, и это очень полезно знать.
3. Уникальные значения в данных
Вы можете найти количество уникальных значений в конкретном столбце, используя функцию unique()
в python.
#unique values
df['Pclass'].unique()
df['Survived'].unique()
df['Sex'].unique()
array([3, 1, 2], dtype=int64)
array([0, 1], dtype=int64)
array(['male', 'female'], dtype=object)
Функция unique() вернула уникальные значения, присутствующие в данных, и это здорово!
4. Визуализируйте количество уникальных
Да, вы можете визуализировать уникальные значения, присутствующие в данных. Для этого мы будем использовать библиотеку seaborn. Вы должны вызвать функцию sns.countlot() и указать переменную для построения графика подсчета.
#Plot the unique values
sns.countplot(df['Pclass']).unique()
Замечательно! Вы делаете хорошо. Это так просто. Хотя в EDA есть два подхода, сочетание графического и неграфического даст вам полную картину.
5. Найдите нулевые значения
Поиск нулевых значений — самый важный шаг в EDA. Как я уже неоднократно говорил, обеспечение качества данных имеет первостепенное значение. Итак, давайте посмотрим, как мы можем найти нулевые значения.
#Find null values
df.isnull().sum()
PassengerId 0
Survived 0
Pclass 0
Name 0
Sex 0
Age 177
SibSp 0
Parch 0
Ticket 0
Fare 0
Cabin 687
Embarked 2
dtype: int64
О нет, у нас есть нулевые значения в переменных «Возраст» и «Каюта». Но не волнуйтесь. Скоро мы найдем способ справиться с ними.
6. Замените нулевые значения
Эй, у нас есть функция replace()
для замены всех нулевых значений конкретными данными. Это слишком хорошо!
#Replace null values
df.replace(np.nan,'0',inplace = True)
#Check the changes now
df.isnull().sum()
PassengerId 0
Survived 0
Pclass 0
Name 0
Sex 0
Age 0
SibSp 0
Parch 0
Ticket 0
Fare 0
Cabin 0
Embarked 0
dtype: int64
Ого! Это потрясающе. Очень легко найти и заменить нулевые значения в данных, как показано. Я использовал 0 для замены нулевых значений. Вы даже можете выбрать более содержательные методы, такие как среднее значение или медиана.
7. Знайте типы данных
Знание типов данных, которые вы изучаете, очень важно и это также простой процесс. Посмотрим, как это работает.
#Datatypes
df.dtypes
PassengerId int64
Survived int64
Pclass int64
Name object
Sex object
Age object
SibSp int64
Parch int64
Ticket object
Fare float64
Cabin object
Embarked object
dtype: object
Вот и все. Вы должны использовать функцию dtypes для этого показанного, и вы получите типы данных каждого атрибута.
8. Отфильтруйте данные
Да, вы можете фильтровать данные на основе некоторой логики.
#Filter data
df[df['Pclass']==1].head()
Вы можете видеть, что приведенный выше код вернул только значения данных, принадлежащие классу 1.
9. Короткий сюжет
Вы можете создать блочную диаграмму для любого числового столбца, используя одну строку кода.
#Boxplot
df[['Fare']].boxplot()
10. График корреляции — EDA
Наконец, чтобы найти корреляцию между переменными, мы можем использовать функцию корреляции. Это даст вам четкое представление о силе корреляции между различными переменными.
#Correlation
df.corr()
Это матрица корреляции с диапазоном от +1 до -1, где +1 имеет высокую и положительную корреляцию, а -1 будет сильно отрицательно коррелировать.
Вы даже можете визуализировать корреляционную матрицу, используя библиотеку Seaborn, как показано ниже.
#Correlation plot
sns.heatmap(df.corr())
Конечная нота - EDA
EDA является наиболее важной частью любого анализа. Вы узнаете много нового о своих данных. Вы найдете ответы на большинство своих вопросов с EDA. Я попытался показать большинство функций Python, используемых для изучения данных с визуализацией. Надеюсь, вы что-то почерпнули из этой статьи.
Это пока все! Счастливый питон :)
Подробнее: Исследовательский анализ данных