Исследовательский анализ данных (EDA) является важным этапом любого проекта по науке о данных, так как позволяет нам понять данные, обнаружить закономерности и выявить потенциальные проблемы. В этой статье мы рассмотрим, как использовать два популярных библиотеки Python, Pandas и Matplotlib, для проведения EDA. Pandas – это мощная библиотека для манипуляции и анализа данных, а Matplotlib – универсальная библиотека для визуализации данных. Мы рассмотрим основы загрузки данных в DataFrame pandas, исследования данных с помощью функций pandas, очистки данных и, наконец, визуализации данных с использованием Matplotlib. К концу этой статьи вы получите твердое понимание того, как использовать Pandas и Matplotlib для проведения EDA в Python.
Импортирование библиотек и данных
Импортирование библиотек
Для использования библиотек pandas и Matplotlib в вашем коде Python необходимо сначала их импортировать. Это можно сделать с помощью оператора import
, за которым следует имя библиотеки.
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# 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# View the first 5 rows of the data
print(data.head())
# Просмотр последних 10 строк данных
print(data.tail(10))
info()
Функция info()
предоставляет информацию о DataFrame, включая количество строк и столбцов, типы данных каждого столбца и количество непустых значений. Эта функция полезна для выявления отсутствующих значений и определения соответствующих типов данных для каждого столбца.
python# Get information about the data
print(data.info())
describe()
Функция describe()
предоставляет сводные статистические данные для числовых столбцов в DataFrame, включая количество, среднее, стандартное отклонение, минимальное, максимальное значения и квартили. Эта функция полезна для быстрого обзора распределения данных.
python# Get summary statistics for the data
print(data.describe())
value_counts()
Функция value_counts()
используется для подсчета количества вхождений каждого уникального значения в столбце. Эта функция полезна для определения частоты конкретных значений в данных.
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# Check for missing values
print(data.isnull().sum())
dropna()
Функция dropna()
используется для удаления строк или столбцов с отсутствующими или нулевыми значениями. По умолчанию эта функция удаляет любую строку, содержащую хотя бы одно отсутствующее значение. Вы можете использовать аргумент subset
для указания столбцов, в которых следует проверять отсутствующие значения, и аргумент how
для указания того, следует ли удалять строки с любыми отсутствующими значениями или только строки, где все значения отсутствуют.
python# Drop rows with missing values
data = data.dropna()
drop_duplicates()
Функция drop_duplicates()
используется для удаления дублирующихся строк из DataFrame. По умолчанию эта функция удаляет все строки, которые имеют одинаковые значения во всех столбцах. Вы можете использовать аргумент subset
для указания столбцов, в которых следует проверять дубликаты.
python# Drop duplicate rows
data = data.drop_duplicates()
replace()
Функция replace()
используется для замены значений в столбце на новые значения. Вы можете указать старые значения для замены и новые значения для их замены. Эта функция полезна для решения проблем с качеством данных, таких как ошибки в написании или несовместимые форматы.
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# 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# 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# 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