Поиск по сайту:

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, используемых для изучения данных с визуализацией. Надеюсь, вы что-то почерпнули из этой статьи.

Это пока все! Счастливый питон :)

Подробнее: Исследовательский анализ данных