4.3.1 Отличие DataFrame от списка списков
Табличные данные в Python могут быть представлены как список списков. Однако такая структура не содержит информации о признаках и требует ручной обработки (таблица 4.3.1).
Таблица 4.3.1 – DataFrame и список списков
|
Список списков |
DataFrame |
|
Нет имён столбцов |
Есть имена столбцов |
|
Все значения – строки |
Автоматическое распознавание типов |
|
Нет встроенных методов анализа |
Есть фильтрация, группировка |
|
Нет индекса |
Есть индекс строк |
Таким образом, DataFrame является не просто контейнером для хранения данных, а полноценной аналитической структурой, обеспечивающей удобство обработки, интерпретации и статистического анализа.
Почему список списков неудобен для аналитики? Список списков позволяет хранить табличные данные, однако при анализе возникают существенные ограничения.
Например:
data = [
["Анна", 21, 88],
["Иван", 22, 75]
]
Для доступа к оценке необходимо помнить индекс:
print(data[0][2])
Такой подход:
Почему DataFrame удобнее? В DataFrame каждый столбец имеет собственное имя.
Например:
print(df["score"])
Поэтому:
аналитик
работает не с индексами,
а с признаками объектов.
DataFrame позволяет:
Аналитический смысл DataFrame
DataFrame моделирует реальный набор данных.
Таблица 4.3.1 – Аналитический смысл DataFrame
|
Компонент |
Аналитический смысл |
|
Строка |
объект наблюдения |
|
Столбец |
признак объекта |
|
Значение |
результат измерения |
|
Индекс |
идентификатор строки |
Именно поэтому DataFrame является базовой структурой аналитики данных в Python.
4.3.2 Просмотр структуры таблицы
Перед началом анализа необходимо убедиться, что данные загружены корректно. Для этого используются диагностические методы DataFrame (таблица 4.3.2).
Таблица 4.3.2 – Методы первичной диагностики DataFrame
|
Метод |
Пример |
Что возвращает |
Назначение |
|
Первые строки |
|
Подтаблицу |
Быстрая проверка содержимого |
|
Имена столбцов |
|
Список названий |
Проверка структуры |
|
Типы данных |
|
Типы столбцов |
Контроль корректности типов |
Пример использования
print(df.head()) # вывод первых строктаблицы
print(df.columns) # список названий столбцов
print(df.dtypes) # тип данных каждого столбца
Метод head(). Метод head() выводит первые строки таблицы.
Например:
print(df.head())
Метод используется для:
Обычно аналитик начинает работу с DataFrame именно с просмотра первых строк таблицы.
Метод columns. Метод columns возвращает список названий столбцов.
Например:
print(df.columns)
Это позволяет:
Имена столбцов играют важную роль, поскольку именно через них выполняется доступ к данным.
Метод dtypes. Метод dtypes показывает тип данных каждого столбца.
Например:
print(df.dtypes)
Таблица 4.3.3 – Возможные типы
|
Тип |
Назначение |
|
int64 |
целые числа |
|
float64 |
вещественные числа |
|
object |
текстовые данные |
Контроль типов данных особенно важен перед:
Методический акцент. Эти команды позволяют:
· убедиться, что файл загружен без ошибок;
· проверить, правильно ли распознаны числовые столбцы;
· обнаружить возможные несоответствия структуры.
Просмотр структуры – обязательный шаг перед фильтрацией, агрегированием и построением моделей.
4.3.3 Выбор и фильтрация данных
Основные операции доступа и отбора данных в DataFrame представлены в таблице (Таблица 4.3.4).
Таблица 4.3.4 – Основные операции выбора и фильтрации
|
Пример |
Результат |
Назначение |
|
|
Выбор одного столбца |
|
Объект Series |
Доступ к значениям одного признака |
|
Выбор нескольких столбцов |
|
Новый DataFrame |
Формирование подтаблицы |
|
Фильтрация по условию |
|
Отфильтрованный DataFrame |
Отбор строк по логическому условию |
Пояснение к операциям выбора и фильтрации:
·
при
выборе столбца возвращается объект типа Series;
· при использовании двойных скобок возвращается новый DataFrame;
· при фильтрации создаётся логическая маска, и Pandas автоматически оставляет только строки, удовлетворяющие условию.
Таким образом, DataFrame позволяет выполнять выборки без циклов и ручной обработки строк.
Выбор одного столбца. Для доступа к одному признаку используется:
df["score"]
Результат: возвращается объект типа:
Series.
Series
представляет собой одномерную структуру данных Pandas,
содержащую значения одного признака.
Выбор нескольких столбцов. Для формирования подтаблицы используются двойные скобки.
Например:
df[["name", "score"]]
Результат: создаётся новый DataFrame, содержащий только выбранные признаки.
Таким образом, аналитик может формировать специализированные выборки данных.
Фильтрация данных по условию. Одной из важнейших возможностей Pandas является фильтрация строк.
Например:
df[df["score"] > 80]
Pandas: оставляет только строки, удовлетворяющие условию.
Как работает фильтрация? При фильтрации создаётся: логическая маска.
Например:
df["score"] > 80
Результат:
True
False
True
После этого Pandas автоматически оставляет только строки со значением: True.
Почему фильтрация важна для аналитики? Фильтрация используется:
Например: можно выбрать:
Аналитический смысл выборки данных. Главная идея Pandas заключается в том, что аналитик работает:
Поэтому: DataFrame позволяет выполнять выборки: без циклов и ручной обработки строк.
Итоги темы. В теме были рассмотрены:
Pandas позволяет выполнять аналитическую обработку данных через признаки, условия и выборки, что делает DataFrame основной структурой прикладного анализа данных.