Как использовать Pandas и Matplotlib для проведения EDA в Python

Исследовательский анализ данных (EDA) является важным этапом любого проекта по науке о данных, так как позволяет нам понять данные, обнаружить закономерности и выявить потенциальные проблемы. В этой статье мы рассмотрим, как использовать два популярных библиотеки Python, Pandas и Matplotlib, для проведения EDA. Pandas – это мощная библиотека для манипуляции и анализа данных, а Matplotlib – универсальная библиотека для визуализации данных. Мы рассмотрим основы загрузки данных в DataFrame pandas, исследования данных с помощью функций pandas, очистки данных и, наконец, визуализации данных с использованием Matplotlib. К концу этой статьи вы получите твердое понимание того, как использовать Pandas и Matplotlib для проведения EDA в Python.

Импортирование библиотек и данных

Импортирование библиотек

Для использования библиотек pandas и Matplotlib в вашем коде Python необходимо сначала их импортировать. Это можно сделать с помощью оператора import, за которым следует имя библиотеки.

Python

 

python import pandas as pd
import matplotlib.pyplot as plt

В этом примере мы импортируем pandas и алиасим его как ‘pd’, что является распространенной практикой в сообществе научных данных. Также мы импортируем matplotlib.pyplot и алиасим его как ‘plt’. Импортировав эти библиотеки, мы можем использовать их функции и методы для работы с данными и создания визуализаций.

Загрузка данных

После импортирования необходимых библиотек, вы можете загрузить данные в DataFrame pandas. Pandas предоставляет несколько методов для загрузки данных из различных форматов файлов, включая CSV, Excel, JSON и другие. Самым распространенным методом является read_csv, который считывает данные из файла CSV и возвращает DataFrame.

Python

 

python# Load data into a pandas DataFrame
data = pd.read_csv('path/to/data.csv')

В этом примере мы загружаем данные из файла CSV, расположенного по пути ‘path/to/data.csv’, и сохраняем их в переменной ‘data’. Вы можете заменить ‘path/to/data.csv’ на фактический путь к вашему файлу данных.

Загружая данные в DataFrame pandas, мы можем легко манипулировать и анализировать данные с помощью функций и методов pandas. DataFrame представляет собой двумерную таблицеподобную структуру данных, которая позволяет нам работать с данными в структурированном и организованном виде. Он предоставляет функции для выбора, фильтрации, группировки, агрегации и визуализации данных.

Исследование данных

head() и tail()

Функции head() и tail() используются для просмотра первых нескольких и последних нескольких строк данных соответственно. По умолчанию эти функции отображают первые/последние пять строк данных, но вы можете указать другое количество строк в качестве аргумента.

Python

 

python# View the first 5 rows of the data
print(data.head()) 
# Просмотр последних 10 строк данных
print(data.tail(10))

info()

Функция info() предоставляет информацию о DataFrame, включая количество строк и столбцов, типы данных каждого столбца и количество непустых значений. Эта функция полезна для выявления отсутствующих значений и определения соответствующих типов данных для каждого столбца.

Python

 

python# Get information about the data
print(data.info())

describe()

Функция describe() предоставляет сводные статистические данные для числовых столбцов в DataFrame, включая количество, среднее, стандартное отклонение, минимальное, максимальное значения и квартили. Эта функция полезна для быстрого обзора распределения данных.

Python

 

python# Get summary statistics for the data
print(data.describe())

value_counts()

Функция value_counts() используется для подсчета количества вхождений каждого уникального значения в столбце. Эта функция полезна для определения частоты конкретных значений в данных.

Python

 

python# Count the number of unique values in a column
print(data['column_name'].value_counts())

Это лишь несколько примеров функций panda, которые можно использовать для изучения данных. Существует множество других функций, которые можно использовать в зависимости от ваших конкретных потребностей в изучении данных, таких как isnull() для проверки отсутствующих значений, groupby() для группировки данных по определенному столбцу, corr() для расчета коэффициентов корреляции между столбцами и многие другие.

Очистка данных 

isnull()

Функция isnull() используется для проверки отсутствующих или нулевых значений в DataFrame. Она возвращает DataFrame той же формы, что и исходный, с True в местах, где данные отсутствуют, и False, где данные присутствуют. Можно использовать функцию sum() для подсчета количества отсутствующих значений в каждом столбце.

Python

 

python# Check for missing values
print(data.isnull().sum())

dropna()

Функция dropna() используется для удаления строк или столбцов с отсутствующими или нулевыми значениями. По умолчанию эта функция удаляет любую строку, содержащую хотя бы одно отсутствующее значение. Вы можете использовать аргумент subset для указания столбцов, в которых следует проверять отсутствующие значения, и аргумент how для указания того, следует ли удалять строки с любыми отсутствующими значениями или только строки, где все значения отсутствуют.

Python

 

python# Drop rows with missing values
data = data.dropna()

drop_duplicates()

Функция drop_duplicates() используется для удаления дублирующихся строк из DataFrame. По умолчанию эта функция удаляет все строки, которые имеют одинаковые значения во всех столбцах. Вы можете использовать аргумент subset для указания столбцов, в которых следует проверять дубликаты.

Python

 

python# Drop duplicate rows
data = data.drop_duplicates()

replace()

Функция replace() используется для замены значений в столбце на новые значения. Вы можете указать старые значения для замены и новые значения для их замены. Эта функция полезна для решения проблем с качеством данных, таких как ошибки в написании или несовместимые форматы.

Python

 

python# Replace values in a column
data['column_name'] = data['column_name'].replace('old_value', 'new_value')

Это лишь некоторые примеры функций pandas, которые вы можете использовать для очистки данных. Существует множество других функций, которые вы можете использовать в зависимости от ваших конкретных потребностей в очистке данных, таких как fillna() для заполнения отсутствующих значений определенным значением или методом, astype() для преобразования типов данных столбцов, clip() для обрезки выбросов и многое другое.

Очистка данных играет важную роль в подготовке данных для анализа, и автоматизация процесса может сэкономить время и обеспечить качество данных. Помимо функций пандаса, упомянутых ранее, к автоматизации можно применять методы для упрощения рабочих процессов очистки данных. Например, вы можете создать повторно используемые функции или конвейеры для обработки отсутствующих значений, удаления дубликатов и замены значений в нескольких наборах данных. Более того, вы можете использовать передовые методы, такие как импутация для умной замены отсутствующих значений или регулярные выражения для идентификации и исправления несогласованного формата. Объединив мощь функций pandas с стратегиями автоматизации, вы сможете эффективно очищать и стандартизировать данные, повышая надежность и точность вашего исследовательского анализа данных (EDA).

Визуализация данных

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

Вот несколько примеров того, как создавать такие визуализации с помощью Matplotlib:

Точечный график

A scatter plot is used to visualize the relationship between two continuous variables. You can create a scatter plot in Matplotlib using the scatter() function.

Python

 

python# Create a scatter plot
plt.scatter(data['column1'], data['column2']) plt.xlabel('Column 1') plt.ylabel('Column 2') plt.show()

В этом примере мы создаем точечный график с column1 на оси x и column2 на оси y. Мы также добавляем метки на оси x и y с помощью функций xlabel() и ylabel().

Гистограмма

A histogram is used to visualize the distribution of a single continuous variable. You can create a histogram in Matplotlib using the hist() function.

Python

 

python# Create a histogram
plt.hist(data['column'], bins=10) plt.xlabel('Column') plt.ylabel('Frequency') plt.show()

В этом примере мы создаем гистограмму переменной column с 10 бинами. Мы также добавляем метки на оси x и y с помощью функций xlabel() и ylabel().

Ящик с усами

A box plot is used to visualize the distribution of a single continuous variable and to identify outliers. You can create a box plot in Matplotlib using the boxplot() function.

Python

 

python# Create a box plot
plt.boxplot(data['column']) plt.ylabel('Column') plt.show()

В этом примере мы создаем ящик с усами для переменной column. Мы также добавляем метку на оси y с помощью функции ylabel().

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

Заключение

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

Source:
https://dzone.com/articles/how-to-use-pandas-and-matplotlib-to-perform-explor