Как построить данные CSV с помощью Matplotlib и Pandas в Python?

Как построить данные CSV с помощью Matplotlib и Pandas в Python?

Введение

В современном мире анализ данных и визуализация являются неотъемлемой частью множества областей, таких как дата-анализ, интернет-маркетинг и контекстная реклама. Два мощных инструмента, которые помогают в этих задачах — это библиотеки Pandas и Matplotlib. Pandas предоставляет удобный и гибкий API для работы с данными, а Matplotlib — мощный инструмент для создания визуализаций. В этой статье мы рассмотрим, как загрузить данные из CSV файла с помощью Pandas, обработать их и визуализировать с помощью Matplotlib.

Что такое CSV?

CSV (Comma-Separated Values) — это текстовый формат, который используется для хранения табличных данных. Каждый элемент данных в строке разделяется запятой или другим разделительным символом. CSV-файлы просты в использовании и поддерживаются большинством программ для обработки данных.

Пример CSV-файла:

name,age,city
John,28,New York
Anna,22,Boston
Mike,32,Chicago

Преимущества CSV:

  • Простота использования и редактирования.
  • Широкая поддержка различными инструментами и приложениями.
  • Эффективный способ хранения небольших и средних объемов данных.

Знакомство с Pandas

Pandas — это библиотека для анализа данных на языке Python, созданная для обеспечения гибкости и быстроты манипулирования данными. В основную функциональность Pandas входят структуры данных DataFrame и Series.

  • DataFrame: двумерная таблица данных с метками по строкам и столбцам.
  • Series: одномерный массив, аналогичный столбцу в таблице либо массиву в numpy.

Загрузка и работа с данными CSV в Pandas

Импорт библиотеки

Чтобы начать работу с Pandas, необходимо импортировать библиотеку:

import pandas as pd

Чтение CSV-файлов

Загрузка данных из CSV может быть выполнена с помощью метода pd.read_csv(). Рассмотрим пример:

df = pd.read_csv('data.csv')
print(df.head())

Обработка данных

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

Фильтрация данных:

# Фильтрация строк по условию возраста
adults = df[df['age'] > 18]

Группировка данных:

# Группировка по городу и вычисление среднего возраста
mean_age_per_city = df.groupby('city')['age'].mean()

Добавление нового столбца:

# Добавление столбца с возрастом через 5 лет
df['age_in_5_years'] = df['age'] + 5

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

Импорт библиотеки

Чтобы использовать Matplotlib, импортируем её следующим образом:

import matplotlib.pyplot as plt

Создание простых графиков

Создание простого графика на основе данных из DataFrame:

# Построение графика среднего возраста по городам
mean_age_per_city.plot(kind='bar')
plt.title('Средний возраст по городам')
plt.xlabel('Город')
plt.ylabel('Средний возраст')
plt.show()

Настройка графиков

Matplotlib предоставляет множество средств для настройки графиков.

Заголовки и метки осей:

plt.title('Распределение возраста')
plt.xlabel('Возраст')
plt.ylabel('Количество')

Легенды:

plt.legend(['Возраст'])

Стили и цвета:

plt.plot(df['age'], color='blue', linestyle='dashed', marker='o')

Пример проекта

Объединим все знания и рассмотрим полный пример проекта.

import pandas as pd
import matplotlib.pyplot as plt

# Загрузка данных
df = pd.read_csv('data.csv')

# Обработка данных
adults = df[df['age'] > 18]
mean_age_per_city = df.groupby('city')['age'].mean()

# Визуализация данных
mean_age_per_city.plot(kind='bar')
plt.title('Средний возраст по городам')
plt.xlabel('Город')
plt.ylabel('Средний возраст')
plt.show()

Советы по оптимизации кода

  1. Использование аннотаций типов:
import pandas as pd
from typing import List

def load_data(file_path: str) -> pd.DataFrame:
    """Загрузка данных из CSV файла."""
    return pd.read_csv(file_path)
  1. Соблюдение стандартов PEP 8:
    • Используйте отступы в 4 пробела.
    • Объявляйте переменные с понятными именами.
    • Комментируйте важные блоки кода.

Заключение

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

Список ресурсов


Добавить комментарий