Pandas в Python: Анализ данных для начинающих

Библиотека Pandas — один из самых популярных инструментов в Python для анализа данных. Она позволяет быстро и эффективно работать с табличными структурами, подобно базам данных. Pandas упрощает фильтрацию, анализ отдельных строк и столбцов, предоставляя мощные средства для подготовки данных к машинному обучению и построению отчетов. Библиотека предоставляет высокоуровневые структуры данных: Series (одномерный массив с метками) и DataFrame (двумерная таблица данных с метками строк и столбцов), построенные на основе NumPy, что обеспечивает высокую производительность.

Установка и импорт

Для начала работы установите библиотеку через терминал:

pip install pandas

Затем импортируйте модуль:

import pandas as pd

Создание и преобразование DataFrame

Данные могут быть представлены в различных форматах: списках, словарях, множествах. Часто используется словарь, так как он наиболее полно описывает элементы и похож на структуру данных из баз данных. Например:

data = {'col1': [1, 2, 3], 'col2': ['A', 'B', 'C']}

Преобразование словаря в DataFrame:

df = pd.DataFrame(data)

Основные операции с DataFrame

DataFrame предоставляет множество методов:

  • Выбор данных: выбор столбца, строки по индексу или фильтрация по условию.
  • Просмотр данных: head() (первые строки), tail() (последние строки), info() (информация о столбцах и типах данных), describe() (статистическое описание числовых столбцов).

Примеры:

print(df['col1']) # Вывод столбца 'col1'
print(df.iloc[0]) # Вывод первой строки
print(df[df['col2'] == 'A']) # Фильтрация по условию

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

Pandas поддерживает различные форматы файлов: CSV, Excel, SQL и другие. Загрузка данных из CSV файла:

df_csv = pd.read_csv('путь/к/файлу.csv')

Обработка и анализ данных

Pandas предлагает инструменты для:

  • Обработки пропусков: fillna() (заполнение пропусков), dropna() (удаление строк с пропусками).
  • Удаления дубликатов: drop_duplicates().
  • Преобразования типов данных: astype() (изменение типа данных столбца).
  • Группировки данных: groupby() для группировки данных и применения агрегатных функций (sum(), mean() и др.).

Практический пример: Анализ данных о просмотрах видео

Рассмотрим анализ данных о просмотрах видео на разных платформах (файл video_views.csv). Загрузим данные, обработаем пропуски (в столбце views — среднее значение, в revenue — нули), удалим дубликаты и преобразуем типы данных:

data = pd.read_csv('video_views.csv')
data['views'] = data['views'].fillna(data['views'].mean())
data['revenue'] = data['revenue'].fillna(0)
data.drop_duplicates(inplace=True)
data['views'] = data['views'].astype(int)
data['date'] = pd.to_datetime(data['date'])

Отфильтруем данные (например, для платформы YouTube), сгруппируем по дате и вычислим суммарные просмотры и доходы:

youtube_data = data[data['platform'] == 'YouTube']
grouped_data = youtube_data.groupby('date').agg({'views': 'sum', 'revenue': 'sum'})

Вычислим средние значения и сохраним результаты в новый CSV файл:

average_views = grouped_data['views'].mean()
average_revenue = grouped_data['revenue'].mean()
grouped_data.to_csv('youtube_summary.csv')

Работа с датами

Pandas эффективно обрабатывает даты. Преобразование массива строковых дат в объект datetime позволяет легко манипулировать данными и извлекать информацию (например, день недели):

dates = pd.to_datetime(dates_array)
days_of_week = dates.dt.day_name()

Pandas — мощный инструмент для анализа данных в Python. Он предоставляет широкий набор функций для загрузки, обработки, анализа и визуализации данных из различных источников. Изучение Pandas значительно упрощает работу с данными и позволяет эффективно решать множество аналитических задач.

Что будем искать? Например,программа