Pandas — мощная библиотека Python, широко используемая для анализа и обработки данных. Одной из его ключевых особенностей является DataFrame, двумерная структура данных, которая позволяет эффективно хранить табличные данные и манипулировать ими. В этой статье мы рассмотрим различные методы работы с DataFrames в Pandas, используя разговорный язык и попутно предоставляя примеры кода. Итак, давайте углубимся и овладеем искусством манипулирования DataFrame!
- Создание DataFrame:
Для начала давайте создадим DataFrame с нуля. Мы можем использовать функцию pd.DataFrame(), передавая в качестве аргумента словарь, список словарей или массив NumPy. Вот пример:
import pandas as pd
data = {'Name': ['John', 'Jane', 'Mike'],
'Age': [25, 30, 35],
'City': ['New York', 'London', 'Sydney']}
df = pd.DataFrame(data)
print(df)
Выход:
Name Age City
0 John 25 New York
1 Jane 30 London
2 Mike 35 Sydney
- Доступ к данным и манипулирование ими:
После того как у нас есть DataFrame, мы можем выполнять с ним различные операции:
-
Доступ к столбцам: мы можем получить доступ к определенному столбцу, используя квадратные скобки или точечную запись. Например,
df['Name']илиdf.Nameдаст нам столбец «Имя». -
Доступ к строкам: мы можем использовать аксессор
locилиilocдля доступа к определенным строкам по их индексу или положению соответственно. -
Фильтрация данных. Мы можем фильтровать строки на основе определенных условий, используя логическое индексирование. Например,
df[df['Age'] > 30]вернет строки, в которых значение столбца «Возраст» больше 30. -
Добавление столбцов. Мы можем добавить новый столбец в DataFrame, назначив ему новую серию или список. Например,
df['Salary'] = [50000, 60000, 70000]добавит столбец «Зарплата». -
Удаление столбцов. Столбцы можно удалить с помощью метода
drop(). Например,df.drop('City', axis=1)удалит столбец «Город».
- Агрегация данных и сводная статистика:
Pandas предоставляет несколько методов для вычисления совокупной статистики по DataFrames:
mean(): вычисляет среднее значение для каждого числового столбца.sum(): вычисляет сумму значений для каждого числового столбца.min(): находит минимальное значение в каждом числовом столбце.max(): находит максимальное значение в каждом числовом столбце.describe(): генерирует описательную статистику для каждого числового столбца.
Вот пример:
print(df.mean())
print(df.describe())
<ол>
Мы можем отсортировать DataFrame по одному или нескольким столбцам, используя метод sort_values(). Например, df.sort_values(by='Age', ascending=False)отсортирует DataFrame по столбцу «Возраст» в порядке убывания.
- Обработка недостающих данных:
Отсутствие данных — распространенная проблема в реальных наборах данных. Pandas предоставляет методы для обработки пропущенных значений, например:
isnull(): проверяет, отсутствуют ли значения.fillna(): заполняет пропущенные значения указанным значением или стратегией.dropna(): удаляет строки или столбцы с пропущенными значениями.
- Группировка и агрегирование данных:
Pandas позволяет нам группировать данные на основе одного или нескольких столбцов и выполнять агрегированные вычисления по группам. Для этой цели используется метод groupby(). Вот пример:
grouped = df.groupby('City')
print(grouped.mean())
В этой статье мы рассмотрели различные методы управления DataFrame в Pandas. Мы рассмотрели создание DataFrames, доступ к данным и манипулирование ими, выполнение агрегации данных и сводной статистики, сортировку данных, обработку недостающих данных, а также группировку и агрегирование данных. Освоив эти методы, вы сможете эффективно анализировать табличные данные и манипулировать ими с помощью Pandas.
Не забудьте поэкспериментировать с предоставленными примерами и обратиться к документации Pandas для получения более подробной информации. Приятного кодирования!