Главная Блог Pandas DataFrame в Python

Pandas DataFrame в Python

Pandas DataFrame – это основная структура данных библиотеки Pandas, которая представляет собой двумерную табличную структуру данных, аналогичную таблице базы данных или электронной таблице Excel. DataFrame состоит из строк и столбцов, где каждый столбец может содержать разные типы данных: числа, строки, логические значения и т. д.

Основные характеристики Pandas DataFrame:

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

Содержание

Создание Pandas DataFrame

Приведем разные примеры.

Из словарей


import pandas as pd

 

# Создание словаря с данными

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

 

# Создание DataFrame из словаря

df = pd.DataFrame(data)

print(df)


Из списков


import pandas as pd

 

# Создание списков данных

names = [‘Алексей’, ‘Елена’, ‘Иван’]

ages = [30, 25, 35]

cities = [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]

 

# Создание DataFrame из списков

df = pd.DataFrame(list(zip(names, ages, cities)), columns=[‘Имя’, ‘Возраст’, ‘Город’])

print(df)


Из массивов NumPy


import pandas as pd

import numpy as np

 

# Создание массива NumPy

data = np.array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

 

# Создание DataFrame из массива NumPy

df = pd.DataFrame(data, columns=[‘A’, ‘B’, ‘C’])

print(df)


Из файлов


import pandas as pd

 

# Загрузка данных из файла CSV

df_csv = pd.read_csv(‘file.csv’)

 

# Загрузка данных из файла Excel

df_excel = pd.read_excel(‘file.xlsx’)

 

# Загрузка данных из базы данных SQL

# import sqlite3

# conn = sqlite3.connect(‘database.db’)

# df_sql = pd.read_sql_query(«SELECT * FROM table», conn)


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

Среднее время реакции на обращение: 13,5 мин.
Среднее время решения задачи: 1 час 21 мин.

Получение меток и данных

Получение меток и данных из Pandas DataFrame является основной операцией при работе с табличными данными.

Метки DataFrame могут быть получены с помощью различных атрибутов и методов. Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data)

 

# Получение меток столбцов

labels = df.columns

print(«Метки столбцов:», labels)

 

# Получение меток индекса

index_labels = df.index

print(«Метки индекса:», index_labels)


Данные DataFrame можно получить в виде массивов NumPy с помощью атрибута «values»:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data)

 

# Получение данных в виде массива NumPy

data_array = df.values

print(«Данные в виде массива NumPy:»)

print(data_array)


Pandas DataFrame может содержать различные типы данных в каждом столбце. Типы данных можно получить с помощью атрибута «dtypes»:


import pandas as pd

 

# Создание примера DataFrame с разными типами данных

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Рост’: [175.5, 162.3, 180.0]}

df = pd.DataFrame(data)

 

# Получение типов данных столбцов

data_types = df.dtypes

print(«Типы данных столбцов:»)

print(data_types)


Размер DataFrame можно получить с помощью атрибута «shape», который возвращает кортеж (количество строк, количество столбцов):


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data)

 

# Получение размера DataFrame

size = df.shape

print(«Размер DataFrame:», size)


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

Получение доступа и изменение данных

В Pandas DataFrame доступ к данным и их изменение осуществляется с использованием аксессоров, таких как «loc», «iloc», и индексации столбцов.

С помощью аксессоров

  • loc – позволяет получить доступ к данным по меткам строк и столбцов.

Пример:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data, index=[‘a’, ‘b’, ‘c’])

 

# Получение данных по метке строки и столбца

value = df.loc[‘a’, ‘Имя’]

print(value)  # Вывод: Алексей


  • iloc – позволяет получить доступ к данным по числовым индексам строк и столбцов.

Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data)

 

# Получение данных по числовому индексу строки и столбца

value = df.iloc[0, 1]

print(value)  # Вывод: 30


Установка данных с помощью аксессоров

Процесс установки данных аналогичен получению данных, но вместо получения данных мы указываем значение, которое хотим установить.

Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35],

‘Город’: [‘Москва’, ‘Санкт-Петербург’, ‘Новосибирск’]}

df = pd.DataFrame(data)

 

# Установка нового значения в ячейку

df.loc[0, ‘Возраст’] = 40

print(df)


Это изменит значение возраста для первого человека в DataFrame на 40.

Аксессоры «loc» и «iloc» позволяют получить доступ и изменить данные в DataFrame, используя метки или числовые индексы строк и столбцов. Это очень удобно при работе с табличными данными и делает Pandas мощным инструментом для анализа данных.

Вставка и удаление данных

В Pandas DataFrame вставка и удаление данных – это важные операции, позволяющие эффективно управлять структурой данных.

Вставка строк

Для вставки новых строк в DataFrame используется метод «append()». Этот метод принимает объект Series или словарь, содержащий данные для новой строки, и добавляет их в конец DataFrame.

Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’],

‘Возраст’: [30, 25]}

df = pd.DataFrame(data)

 

# Создание новой строки

new_row = pd.Series([‘Иван’, 35], index=[‘Имя’, ‘Возраст’])

 

# Вставка новой строки в DataFrame

df = df.append(new_row, ignore_index=True)

print(df)


Удаление строк

Для удаления строк из DataFrame используется метод «drop()», который позволяет указать индекс строки или список индексов строк для удаления.

Пример:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data)

 

# Удаление строки с индексом 1

df = df.drop(1)

print(df)


Вставка столбцов

Для вставки новых столбцов в DataFrame можно просто присвоить новый столбец, используя синтаксис словаря или присваивания.

Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’],

‘Возраст’: [30, 25]}

df = pd.DataFrame(data)

 

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

df[‘Город’] = [‘Москва’, ‘Санкт-Петербург’]

print(df)


Удаление столбцов

Для удаления столбцов из DataFrame используется метод «drop()» с указанием имени столбца и параметра «axis=1».

Пример:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’],

‘Возраст’: [30, 25],

‘Город’: [‘Москва’, ‘Санкт-Петербург’]}

df = pd.DataFrame(data)

 

# Удаление столбца ‘Город’

df = df.drop(‘Город’, axis=1)

print(df)


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

Применение арифметических операций

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

Операции между DataFrame и скалярным значением


import pandas as pd

 

# Создание примера DataFrame

data = {‘A’: [1, 2, 3],

‘B’: [4, 5, 6]}

df = pd.DataFrame(data)

 

# Добавление скалярного значения к каждому элементу DataFrame

df_plus_scalar = df + 10

print(df_plus_scalar)


Операции между двумя DataFrame


import pandas as pd

 

# Создание примера DataFrame

data1 = {‘A’: [1, 2, 3],

‘B’: [4, 5, 6]}

df1 = pd.DataFrame(data1)

 

data2 = {‘A’: [10, 20, 30],

‘B’: [40, 50, 60]}

df2 = pd.DataFrame(data2)

 

# Сложение двух DataFrame

df_sum = df1 + df2

print(df_sum)


Применение арифметических операций к столбцам или строкам

Пример:


import pandas as pd

 

# Создание примера DataFrame

data = {‘A’: [1, 2, 3],

‘B’: [4, 5, 6]}

df = pd.DataFrame(data)

 

# Сложение значений в столбцах

column_sum = df[‘A’] + df[‘B’]

print(column_sum)

 

# Умножение значений в строках

row_product = df.loc[0] * df.loc[1]

print(row_product)


Использование встроенных методов для арифметических операций

Pandas предоставляет встроенные методы для различных арифметических операций, таких как «add()», «sub()», «mul()», «div()» и т. д. Они позволяют выполнить арифметические операции с более гибкими параметрами.


import pandas as pd

 

# Создание примера DataFrame

data1 = {‘A’: [1, 2, 3],

‘B’: [4, 5, 6]}

df1 = pd.DataFrame(data1)

 

data2 = {‘A’: [10, 20, 30],

‘B’: [40, 50, 60]}

df2 = pd.DataFrame(data2)

 

# Сложение с использованием встроенного метода

df_sum_method = df1.add(df2)

print(df_sum_method)


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

Применение функций NumPy и SciPy

Применение функций NumPy и SciPy в библиотеке Pandas обеспечивает мощные возможности для обработки данных, выполнения математических операций, анализа данных и научных вычислений.

NumPy

NumPy предоставляет широкий набор математических функций и операций над массивами, которые могут быть применены к данным Pandas DataFrame. Например, вы можете использовать функции NumPy для вычисления статистических показателей, выполнения операций линейной алгебры, и многое другое.


import pandas as pd

import numpy as np

 

# Создание примера DataFrame

data = {‘A’: [1, 2, 3],

‘B’: [4, 5, 6]}

df = pd.DataFrame(data)

 

# Вычисление среднего значения столбцов с помощью NumPy

column_means = np.mean(df)

print(column_means)


SciPy

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


import pandas as pd

from scipy.stats import linregress

 

# Создание примера DataFrame

data = {‘X’: [1, 2, 3, 4, 5],

‘Y’: [2, 3, 5, 4, 6]}

df = pd.DataFrame(data)

 

# Выполнение линейной регрессии с помощью SciPy

slope, intercept, r_value, p_value, std_err = linregress(df[‘X’], df[‘Y’])

print(«Наклон:», slope)

print(«Пересечение с осью Y:», intercept)


Это выполнит линейную регрессию для данных в DataFrame и выведет наклон, пересечение с осью Y и другие статистические показатели.

Использование функций NumPy и SciPy с библиотекой Pandas позволяет проводить сложные математические и научные операции на данных, хранящихся в DataFrame. Это делает Pandas, NumPy и SciPy мощным набором инструментов для анализа данных, обработки и визуализации в Python.

Сортировка данных в Pandas DataFrame

Сортировка данных в Pandas DataFrame является важной операцией при анализе данных, позволяющей упорядочить строки или столбцы DataFrame в определенном порядке. В Pandas доступны несколько методов:

По значениям в столбце

Для сортировки DataFrame по значениям в одном или нескольких столбцах используется метод «sort_values()». При вызове этого метода указывается столбец или список столбцов, по которым необходимо выполнить сортировку.


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data)

 

# Сортировка по столбцу ‘Возраст’

df_sorted = df.sort_values(by=’Возраст’)

print(df_sorted)


Пример сортировки по нескольким столбцам:


# Сортировка по столбцу ‘Возраст’, затем по столбцу ‘Имя’

df_sorted = df.sort_values(by=[‘Возраст’, ‘Имя’])

print(df_sorted)


По индексу

Для сортировки DataFrame по индексу используется метод «sort_index()». Этот метод сортирует строки DataFrame в соответствии с их индексами.


import pandas as pd

 

# Создание примера DataFrame с неупорядоченным индексом

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data, index=[3, 1, 2])

 

# Сортировка по индексу

df_sorted = df.sort_index()

print(df_sorted)


По значениям индекса столбцов

Можно также сортировать DataFrame по значениям индекса столбцов, используя аргумент «axis=1» в методах «sort_values()» и «sort_index()».


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data)

 

# Сортировка по значениям индекса столбцов (по алфавиту)

df_sorted = df.sort_index(axis=1)

print(df_sorted)


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

90% клиентов пришли к нам по рекомендации

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

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

С использованием условий

Вы можете применять условия к столбцам DataFrame для фильтрации строк, соответствующих определенным критериям. Например, чтобы выбрать строки, где значение в столбце «Возраст» больше 25, можно написать:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data)

 

# Фильтрация строк, где возраст больше 25

filtered_df = df[df[‘Возраст’] > 25]

print(filtered_df)


Комбинированная фильтрация

Вы можете комбинировать несколько условий с использованием логических операторов «&» (и), «|» (или), «~» (не) для создания более сложных фильтров.


# Фильтрация строк, где возраст больше 25 И имя не равно «Елена»

filtered_df = df[(df[‘Возраст’] > 25) & (df[‘Имя’] != ‘Елена’)]

print(filtered_df)


С использованием метода `query()`

Метод «query()» позволяет выполнять фильтрацию с использованием строкового представления условий.

Например:


# Фильтрация строк, где возраст больше 25 И имя не равно «Елена»

filtered_df = df.query(‘Возраст > 25 and Имя != «Елена»‘)

print(filtered_df)


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

Работа со статистическими данными

Работа со статистическими данными в Pandas включает в себя множество операций, таких как вычисление основных статистических показателей, визуализация данных, анализ распределения данных и многое другое.

Вычисление статистических показателей

Pandas предоставляет множество методов для вычисления основных статистических показателей, таких как среднее значение, медиана, стандартное отклонение, минимум, максимум и квартили. Например:


import pandas as pd

 

# Создание примера DataFrame

data = {‘Возраст’: [30, 25, 35, 40, 28, 32]}

df = pd.DataFrame(data)

 

# Вычисление среднего значения

mean_age = df[‘Возраст’].mean()

 

# Вычисление медианы

median_age = df[‘Возраст’].median()

 

# Вычисление стандартного отклонения

std_dev_age = df[‘Возраст’].std()

 

# Вывод результатов

print(«Средний возраст:», mean_age)

print(«Медианный возраст:», median_age)

print(«Стандартное отклонение возраста:», std_dev_age)


Анализ распределения данных

При анализе статистических данных часто требуется изучить их распределение. Вы можете использовать методы Pandas для построения гистограммы или ящика с усами (boxplot), чтобы визуализировать распределение данных.


import matplotlib.pyplot as plt

 

# Построение гистограммы

df[‘Возраст’].plot(kind=’hist’, bins=10, edgecolor=’black’)

plt.title(‘Распределение возраста’)

plt.xlabel(‘Возраст’)

plt.ylabel(‘Частота’)

plt.show()


Пример построения ящика с усами:


# Построение ящика с усами

df.boxplot(column=’Возраст’)

plt.title(‘Распределение возраста’)

plt.ylabel(‘Возраст’)

plt.show()


Корреляционный анализ

Для анализа взаимосвязи между различными переменными вы можете использовать коэффициент корреляции. Pandas предоставляет метод «corr()», который позволяет вычислить корреляцию между всеми парами столбцов в DataFrame.


# Вычисление матрицы корреляции

correlation_matrix = df.corr()

print(correlation_matrix)


Другие методы

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

Работа со статистическими данными в Pandas обеспечивает мощные инструменты для анализа и визуализации данных, что позволяет исследовать их свойства, взаимосвязи и распределения.

Обработка отсутствующих данных

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

Обнаружение отсутствующих данных

Pandas предоставляет методы для обнаружения отсутствующих данных в DataFrame. Методы «isnull()» и «notnull()» позволяют проверить, содержит ли каждый элемент отсутствующее значение.


import pandas as pd

 

# Создание примера DataFrame с отсутствующими данными

data = {‘Имя’: [‘Алексей’, ‘Елена’, None],

‘Возраст’: [30, None, 35]}

df = pd.DataFrame(data)

 

# Проверка на наличие отсутствующих данных

print(df.isnull())


Удаление отсутствующих данных

Метод «dropna()» позволяет удалить строки или столбцы, содержащие отсутствующие значения, из DataFrame.


# Удаление строк с отсутствующими значениями

df_cleaned = df.dropna()

print(df_cleaned)


Заполнение отсутствующих данных

Метод «fillna()» позволяет заполнить отсутствующие значения определенным значением или с помощью интерполяции.


# Заполнение отсутствующих значений средним значением по столбцу

mean_age = df[‘Возраст’].mean()

df_filled = df.fillna({‘Возраст’: mean_age})

print(df_filled)


Замена отсутствующих данных

Метод «replace()» позволяет заменить определенные значения в DataFrame, включая отсутствующие значения.


# Замена отсутствующих значений на «Неизвестно»

df_replaced = df.replace({None: ‘Неизвестно’})

print(df_replaced)


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

Итерации в Pandas DataFrame

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

Итерация по столбцам

Вы можете использовать цикл «for» для итерации по столбцам DataFrame. Каждый столбец представлен как объект Series.


import pandas as pd

 

# Создание примера DataFrame

data = {‘Имя’: [‘Алексей’, ‘Елена’, ‘Иван’],

‘Возраст’: [30, 25, 35]}

df = pd.DataFrame(data)

 

# Итерация по столбцам

for column_name, column_data in df.items():

print(‘Столбец:’, column_name)

print(‘Данные:’, column_data.values)


Итерация по строкам

Метод «iterrows()» позволяет итерироваться по строкам DataFrame, возвращая индекс строки и объект Series, содержащий данные строки.


# Итерация по строкам

for index, row in df.iterrows():

print(‘Индекс:’, index)

print(‘Данные:’, row.values)


Применение функций к строкам или столбцам

Вместо явной итерации по строкам или столбцам можно использовать методы Pandas, такие как «apply()», «applymap()» и «map()», чтобы применить функцию к каждой строке, каждому столбцу или каждому элементу DataFrame.


# Применение функции к каждому столбцу

df.apply(lambda x: x.max())


Это вернет максимальное значение для каждого столбца в DataFrame.

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

Работа с временными рядами

Работа с временными рядами является одним из ключевых аспектов анализа данных, и библиотека Pandas предоставляет мощные инструменты для работы с временными данными. Временные ряды представляют собой данные, собранные в последовательные моменты времени.

Создание временных рядов

В Pandas временные ряды могут быть созданы путем использования специальных временных индексов. Вы можете создать временной ряд, задав диапазон дат и времени в индексе DataFrame.


import pandas as pd

 

# Создание временного ряда с помощью DatetimeIndex

dates = pd.date_range(‘2023-01-01′, periods=5, freq=’D’)

data = {‘Значение’: [10, 20, 30, 40, 50]}

df = pd.DataFrame(data, index=dates)

print(df)


Индексация и выборка данных

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


# Выборка данных за определенный период

df_subset = df[‘2023-01-02′:’2023-01-04’]

print(df_subset)


Ресемплирование данных

Ресемплирование позволяет изменять частоту временного ряда. Вы можете увеличить или уменьшить частоту, а также агрегировать данные по определенным периодам.


# Ресемплирование на дневные данные с использованием среднего значения

df_daily_mean = df.resample(‘D’).mean()

print(df_daily_mean)


Визуализация временных рядов

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


import matplotlib.pyplot as plt

 

# Построение графика временного ряда

df.plot()

plt.xlabel(‘Дата’)

plt.ylabel(‘Значение’)

plt.title(‘Временной ряд’)

plt.show()


Работа с функциями временного сдвига и оконными функциями

Pandas также предоставляет функции для выполнения операций временного сдвига данных и оконных функций, таких как среднее значение, сумма, минимум, максимум и т. д.


# Применение оконной функции к временному ряду

rolling_mean = df.rolling(window=2).mean()

print(rolling_mean)


Работа с временными рядами в Pandas предоставляет мощные инструменты для анализа временных данных, прогнозирования и визуализации. В сочетании с другими библиотеками Python, такими как NumPy и Matplotlib, Pandas обеспечивает полный набор инструментов для работы с временными рядами.

Графика в Pandas DataFrame

pandas-dataframe-v-python

Pandas предоставляет простые и удобные инструменты для визуализации данных непосредственно из DataFrame.

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

Гистограммы

Метод «hist()» позволяет построить гистограммы для числовых данных в DataFrame.


import pandas as pd

 

# Создание примера DataFrame

data = {‘Возраст’: [25, 30, 35, 40, 45, 50, 55, 60, 65, 70]}

df = pd.DataFrame(data)

 

# Построение гистограммы

df[‘Возраст’].hist(bins=5)


Графики

Метод «plot()» позволяет построить графики для данных в DataFrame. Вы можете строить графики для временных рядов, зависимостей и других типов данных.


# Построение графика

df.plot()


Ящики с усами (Box plots)

Метод «boxplot()» позволяет построить ящики с усами для данных в DataFrame. Ящик с усами отображает распределение данных и позволяет идентифицировать выбросы.


# Построение ящика с усами

df.boxplot()


Диаграммы рассеяния (Scatter plots)

Для визуализации взаимосвязи между двумя переменными можно использовать метод «plot.scatter()».


# Создание DataFrame с двумя числовыми столбцами

data = {‘Рост’: [160, 165, 170, 175, 180],

‘Вес’: [60, 65, 70, 75, 80]}

df = pd.DataFrame(data)

 

# Построение диаграммы рассеяния

df.plot.scatter(x=’Рост’, y=’Вес’)


Группированные гистограммы и ящики с усами

Если у вас есть данные, которые можно сгруппировать по категориям, то вы можете построить группированные гистограммы и ящики с усами с помощью метода «groupby()».


# Группированная гистограмма

df.groupby(‘Категория’)[‘Значение’].hist(alpha=0.5)

 

# Группированный ящик с усами

df.boxplot(by=’Категория’, column=’Значение’)


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

Заключение

Pandas DataFrame – это одна из ключевых структур данных, предоставляемых библиотекой Pandas в языке программирования Python. Представляет собой двумерную таблицу с индексами строк и именованными столбцами, каждый из которых содержит объекты Series, представляющие отдельные столбцы данных.

Чтобы использовать Pandas DataFrame в Python, необходимо импортировать библиотеку Pandas с помощью инструкции «import pandas as pd». DataFrame создается на основе данных, которые могут быть в виде словаря, списка, массива NumPy или файла CSV. Например, для создания DataFrame из словаря можно использовать следующий код:


data = {‘name’: [‘John’, ‘Anna’, ‘Peter’, ‘Linda’],

‘age’: [23, 36, 33, 28]}

df = pd.DataFrame(data)


DataFrame имеет несколько основных характеристик, таких как наличие индекса строк, именованные столбцы, а также типы данных (dtype) каждого столбца. Методы «head()» и «info()» позволяют получить первые строки и общую информацию о DataFrame.

DataFrame позволяет выполнять различные операции, такие как выборка данных по индексу и столбцам с использованием методов «loc[]» и «iloc[]», выполнение арифметических операций и агрегации данных с использованием методов «mean()», «sum()», «max()» и других.

Помимо этого, DataFrame позволяет читать и записывать данные в различных форматах, таких как CSV, Excel, SQL и других, с помощью методов «read_csv()», «to_csv()», «read_excel()» и т.д.

Основное использование Pandas DataFrame заключается в анализе данных, исследовании структуры данных, выполнении операций над ними, а также визуализации результатов анализа с помощью библиотеки Matplotlib. Он также часто используется в науке о данных (data science) и работе с большими объемами данных.

DataFrame в Pandas предоставляет гибкость и удобство работы с данными, позволяя анализировать и обрабатывать их в соответствии с конкретными потребностями и задачами анализа.

Остались вопросы?

Оставьте заявку и наш менеджер свяжется с Вами в течение 15 минут

    Надоели непредвиденные
    расходы на ИТ?

    • Гарантируем фиксированную стоимость обслуживания на 2 года по договору
    • Включаем в тариф неограниченное количество экстренных вызовов
    • Первый месяц обслуживания за наш счет
    Рассчитать стоимость аутсорсинга
    Нажимая кнопку «Отправить», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Соглашении на обработку персональных данных