Найти в Дзене
Властелин машин

Загрузка данных и предварительный диагноз с использованием Pandas

Рассмотрим вопросы загрузки и предварительного изучения информации с помощью библиотеки pandas – наиболее продвинутого инструмента диагностики, обработки и анализа данных на языке Python.

Для демонстрационных целей будем использовать детальную информацию о результатах и участниках поединков по смешанным единоборствам, организованных американской спортивной организацией Ultimate Fighting Championship (UFC) c ноября 1993 г. по июнь 2019 г. Сведения взяты на сайте «Kaggle» (самый профессиональный ресурс для проведения конкурсов по исследованию данных, принадлежит корпорации Google) и были собраны из официальной статистики UFC.

Прежде всего импортируем необходимую для работы библиотеку:

import pandas as pd

Базовыми структурами для работы с данными в библиотеке pandas являются DataFrame – аналог двумерного массива с возможностью задания многоуровневых индексов строк и столбцов (это фактически позволяет представлять в нем информацию произвольной размерности), а также Series – аналог столбца данных. Для загрузки информации, представленной в одном из наиболее распространенных форматов для хранения табличных данных – csv, в pandas предусмотрена функция read_csv. В качестве ее параметров фигурируют путь к файлу, символы разделителя, кодировка, список имен столбцов и ряд других. Например, вот как загружается файл с относительным путем 'data/ufc/data.csv' в объект DataFrame:

battles_df = pd.read_csv('data/ufc/data.csv')

Посмотреть содержимое структуры можно, используя встроенные средства в программной оболочке, в которой вы работаете, например, в Spyder или PyCharm (описывал процесс установки и настройки в статье). Также частичный вывод результатов можно осуществить путем вызова методов head() и tail() объекта DataFrame, которые показывают первые и последние n строк объекта (по умолчанию n=5):

-2
-3

Для получения краткого описания (число строк и столбцов, типы значений, размер используемой памяти) в объекте DataFrame предусмотрен метод info():

-4

Вызвав свойство dtypes, можно получить информацию о столбцах и их типах:

-5

Перечислить все повторяющиеся значения некоторого столбца позволяет метод unique():

-6

Родственный метод value_counts() объекта Series помимо уникальных значений элементов выводит также информацию об их количестве:

-7

Получить список имен столбцов и индексов строк можно, обратившись к свойствам columns и index DataFrame:

-8
-9

Для трансформации всех данных из таблицы в массив numpy нужно обратиться к свойству values:

-10