Работа с базовыми функциями Pandas

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

Создание объектов

Создание Series

import pandas as pd

# Создание Series из списка
s = pd.Series([10, 20, 30, 40, 50])

# Создание Series из словаря
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)

print(s)

Создание DataFrame

# Создание DataFrame из словаря
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)

print(df)

Просмотр данных

Основные методы для DataFrame

# Просмотр первых 5 строк
print(df.head())

# Просмотр последних 5 строк
print(df.tail())

# Информация о DataFrame
print(df.info())

# Статистическое резюме числовых столбцов
print(df.describe())

Основные методы для Series

# Просмотр первых 5 элементов
print(s.head())

# Статистическое резюме
print(s.describe())

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

Выбор столбцов

# Выбор одного столбца
print(df['Name'])

# Выбор нескольких столбцов
print(df[['Name', 'City']])

Выбор строк по индексу

# Выбор строки по позиции (по умолчанию индексная позиция)
print(df.iloc[1])  # Вторая строка

# Выбор строки по метке индекса (если индекс задан)
print(df.loc[0])  # Первая строка

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

# Фильтрация по условию
filtered_df = df[df['Age'] > 30]
print(filtered_df)

Изменение данных

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

df['Country'] = ['USA', 'USA', 'USA']

Изменение значений

df.loc[df['Name'] == 'Alice', 'Age'] = 26

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

df.drop('Country', axis=1, inplace=True)

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

df.drop(1, axis=0, inplace=True)

Агрегация и группировка

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

grouped = df.groupby('City')

Применение агрегирующих функций

# Средний возраст по городам
mean_age = grouped['Age'].mean()
print(mean_age)

Применение пользовательских функций

def range_func(x):
    return x.max() - x.min()

result = grouped['Age'].agg(range_func)
print(result)

Слияние и объединение данных

Объединение данных по ключу

df1 = pd.DataFrame({'Key': ['A', 'B', 'C'], 'Value': [1, 2, 3]})
df2 = pd.DataFrame({'Key': ['A', 'B', 'D'], 'Value': [4, 5, 6]})

merged_df = pd.merge(df1, df2, on='Key', how='inner')  # 'outer', 'left', 'right'
print(merged_df)

Объединение данных по вертикали и горизонтали

# Вертикальное объединение
df_concat = pd.concat([df1, df2], axis=0)
print(df_concat)

# Горизонтальное объединение
df_concat = pd.concat([df1, df2], axis=1)
print(df_concat)

Работа с пропущенными данными

Проверка на пропущенные значения

print(df.isnull().sum())

Удаление пропущенных значений

df.dropna(inplace=True)

Заполнение пропущенных значений

df.fillna(value='Unknown', inplace=True)

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

Преобразование в datetime

df['Date'] = pd.to_datetime(df['Date'])

Установка индекса по дате

df.set_index('Date', inplace=True)

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

# Выбор данных за определенный диапазон
df_filtered = df['2021-01-01':'2021-12-31']
print(df_filtered)

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

Сортировка по столбцу

df_sorted = df.sort_values(by='Age', ascending=False)
print(df_sorted)

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

df_sorted_index = df.sort_index()
print(df_sorted_index)

Преобразование данных

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

df['Age'] = df['Age'].apply(lambda x: x + 1)

Применение функции к DataFrame

def custom_function(df):
    return df.sum()

result = df.apply(custom_function)
print(result)

Заключение

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

Last updated