Работа с DataFrame в pandas

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в DataFrame: создание и основные понятия

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

Кинга Идем в IT: пошаговый план для смены профессии

Создание DataFrame

Для создания DataFrame можно использовать различные источники данных, такие как списки, словари, массивы NumPy или даже CSV-файлы. Рассмотрим несколько примеров:

Python
Скопировать код
import pandas as pd

# Создание DataFrame из словаря
data = {
    'Имя': ['Анна', 'Борис', 'Виктор'],
    'Возраст': [28, 34, 29],
    'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск']
}
df = pd.DataFrame(data)
print(df)

Этот пример показывает, как легко можно создать DataFrame из словаря, где ключи словаря становятся именами столбцов, а значения — данными этих столбцов. DataFrame также можно создать из списка списков, массива NumPy или даже из файла CSV.

Python
Скопировать код
# Создание DataFrame из списка списков
data = [
    ['Анна', 28, 'Москва'],
    ['Борис', 34, 'Санкт-Петербург'],
    ['Виктор', 29, 'Новосибирск']
]
df = pd.DataFrame(data, columns=['Имя', 'Возраст', 'Город'])
print(df)

Основные понятия

  • Индексы: Метки строк, которые могут быть числами или строками. Индексы позволяют легко обращаться к строкам и выполнять различные операции.
  • Столбцы: Имена колонок, которые можно использовать для доступа к данным. Столбцы могут содержать данные различных типов, что делает DataFrame очень гибким.
  • Значения: Данные внутри таблицы. Значения могут быть числами, строками, датами и другими типами данных.

Добавление и удаление строк в DataFrame

Добавление строк

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

Python
Скопировать код
# Создание новой строки в виде словаря
new_row = {'Имя': 'Галина', 'Возраст': 25, 'Город': 'Казань'}

# Добавление новой строки
df = df.append(new_row, ignore_index=True)
print(df)

Метод append() удобен для добавления небольшого количества строк, но для больших объемов данных рекомендуется использовать другие методы, такие как concat().

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

Удаление строк осуществляется с помощью метода drop(), который принимает индекс или список индексов строк для удаления. Этот метод также возвращает новый DataFrame, не изменяя оригинальный.

Python
Скопировать код
# Удаление строки по индексу
df = df.drop(1)
print(df)

Метод drop() позволяет легко удалять строки по индексу, что может быть полезно для очистки данных или удаления ненужных записей.

Добавление и удаление столбцов в DataFrame

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

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

Python
Скопировать код
# Добавление нового столбца
df['Пол'] = ['Ж', 'М', 'М', 'Ж']
print(df)

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

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

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

Python
Скопировать код
# Удаление столбца
df = df.drop('Пол', axis=1)
print(df)

Метод drop() позволяет легко удалять ненужные столбцы, что может быть полезно для очистки данных или уменьшения размера DataFrame.

Фильтрация и сортировка данных в DataFrame

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

Фильтрация данных позволяет выбрать строки, соответствующие определенным условиям. Например, отфильтруем строки, где возраст больше 30 лет:

Python
Скопировать код
# Фильтрация строк
filtered_df = df[df['Возраст'] > 30]
print(filtered_df)

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

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

Сортировка данных выполняется с помощью метода sort_values(). Рассмотрим сортировку по возрасту:

Python
Скопировать код
# Сортировка по возрасту
sorted_df = df.sort_values(by='Возраст')
print(sorted_df)

Метод sort_values() позволяет сортировать данные по одному или нескольким столбцам, что может быть полезно для упорядочивания данных и улучшения их читаемости.

Анализ и агрегация данных в DataFrame

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

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

Python
Скопировать код
# Группировка данных и вычисление среднего возраста
grouped_df = df.groupby('Город')['Возраст'].mean()
print(grouped_df)

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

Агрегация данных

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

Python
Скопировать код
# Агрегация данных
agg_df = df.agg({
    'Возраст': ['mean', 'min', 'max'],
    'Имя': ['count']
})
print(agg_df)

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

Работа с DataFrame в pandas предоставляет мощные инструменты для анализа и обработки данных. Надеюсь, эта статья помогла вам лучше понять основные операции с DataFrame. Теперь вы можете уверенно использовать pandas для своих задач! 😉

Читайте также