Введение в библиотеку pandas: установка и первые шаги / pd 1
Библиотека pandas в Python — это идеальный инструмент для тех, кто занимается анализом данных, используя для этого язык программирования Python.
В этом материале речь сначала пойдет об основных аспектах библиотеки и о том, как установить ее в систему. Потом вы познакомитесь с двумя структурам данных: series и dataframes . Сможете поработать с базовым набором функций, предоставленных библиотекой pandas, для выполнения основных операций по обработке. Знакомство с ними — ключевой навык для специалиста в этой сфере. Поэтому так важно перечитать материал до тех, пока он не станет понятен на 100%.
А на примерах сможете разобраться с новыми концепциями, появившимися в библиотеке — индексацией структур данных. Научитесь правильно ее использовать для управления данными. В конце концов, разберетесь с тем, как расширить возможности индексации для работы с несколькими уровнями одновременно, используя для этого иерархическую индексацию.
Библиотека Python для анализа данных
Pandas — это библиотека Python с открытым исходным кодом для специализированного анализа данных. Сегодня все, кто использует Python для изучения статистических целей анализа и принятия решений, должны быть с ней знакомы.
Библиотека была спроектирована и разработана преимущественно Уэсом Маккини в 2008 году. В 2012 к нему присоединился коллега Чан Шэ. Вместе они создали одну из самых используемых библиотек в сообществе Python.
Pandas появилась из необходимости в простом инструменте для обработки, извлечения и управления данными.
Этот пакет Python спроектирован на основе библиотеки NumPy. Такой выбор обуславливает успех и быстрое распространение pandas. Он также пользуется всеми преимуществами NumPy и делает pandas совместимой с большинством другим модулей.
Еще одно важное решение — разработка специальных структур для анализа данных. Вместо того, чтобы использовать встроенные в Python или предоставляемые другими библиотеками структуры, были разработаны две новых.
Они спроектированы для работы с реляционными и классифицированными данными, что позволяет управлять данными способом, похожим на тот, что используется в реляционных базах SQL и таблицах Excel.
Дальше вы встретите примеры базовых операций для анализа данных, которые обычно используются на реляционных или таблицах Excel. Pandas предоставляет даже более расширенный набор функций и методов, позволяющих выполнять эти операции эффективнее.
Основная задача pandas — предоставить все строительные блоки для всех, кто погружается в мир анализа данных.
Установка pandas
Простейший способ установки библиотеки pandas — использование собранного решения, то есть установка через Anaconda или Enthought.
Установка в Anaconda
В Anaconda установка занимает пару минут. В первую очередь нужно проверить, не установлен ли уже pandas, и если да, то какая это версия. Для этого введите следующую команду в терминале:
conda list pandas
Если модуль уже установлен (например в Windows), вы получите приблизительно следующий результат:
# packages in environment at C:\Users\Fabio\Anaconda: # pandas 0.20.3 py36hce827b7_2
Если pandas не установлена, ее необходимо установить. Введите следующую команду:
conda install pandas
Anaconda тут же проверит все зависимости и установит дополнительные модули.
Solving environment: done ## Package Plan ## Environment location: C:\Users\Fabio\Anaconda3 added / updated specs: - pandas The following new packages will be installed: Pandas: 0.22.0-py36h6538335_0 Proceed ([y]/n)? Press the y key on your keyboard to continue the installation. Preparing transaction: done Verifying transaction: done Executing transaction: done
Если требуется обновить пакет до более новой версии, используется эта интуитивная команда:
conda update pandas
Система проверит версию pandas и версию всех модулей, а затем предложит соответствующие обновления. Затем предложит перейти к обновлению.
Установка из PyPI
Pandas можно установить и с помощью PyPI, используя эту команду:
pip install pandas
Установка в Linux
Если вы работаете в дистрибутиве Linux и решили не использовать эти решения, то pandas можно установить как и любой другой пакет.
В Debian и Ubuntu используется команда:
sudo apt-get install python-pandas
А для OpenSuse и Fedora — эта:
zypper in python-pandas
Установка из источника
Если есть желание скомпилировать модуль pandas из исходного кода, тогда его можно найти на GitHub по ссылке https://github.com/pandas-dev/pandas:
git clone git://github.com/pydata/pandas.git cd pandas python setup.py install
Убедитесь, что Cython установлен. Больше об этом способе можно прочесть в документации: (http://pandas.pydata.org/pandas-docs/stable/install.html).
Репозиторий для Windows
Если вы работаете в Windows и предпочитаете управлять пакетами так, чтобы всегда была установлена последняя версия, то существует ресурс, где всегда можно загрузить модули для Windows: Christoph Gohlke’s Python Extension Packages for Windows (www.lfd.uci.edu/~gohlke/pythonlibs/). Каждый модуль поставляется в формате WHL для 32 и 64-битных систем. Для установки нужно использовать приложение pip:
pip install SomePackage-1.0.whl
Например, для установки pandas потребуется найти и загрузить следующий пакет:
pip install pandas-0.22.0-cp36-cp36m-win_amd64.whl
При выборе модуля важно выбрать нужную версию Python и архитектуру. Более того, если для NumPy пакеты не требуются, то у pandas есть зависимости. Их также необходимо установить. Порядок установки не имеет значения.
Недостаток такого подхода в том, что нужно устанавливать пакеты отдельно без менеджера, который бы помог подобрать нужные версии и зависимости между разными пакетами. Плюс же в том, что появляется возможность освоиться с модулями и получить последние версии вне зависимости от того, что выберет дистрибутив.
Проверка установки pandas
Библиотека pandas может запустить проверку после установки для верификации управляющих элементов (документация утверждает, что тест покрывает 97% всего кода).
Во-первых, нужно убедиться, что установлен модуль nose . Если он имеется, то тестирование проводится с помощью следующей команды:
nosetests pandas
Оно займет несколько минут и в конце покажет список проблем.
Модуль Nose
Этот модуль спроектирован для проверки кода Python во время этапов разработки проекта или модуля Python. Он расширяет возможности модуль unittest . Nose используется для проверки кода и упрощает процесс.
Здесь о нем можно почитать подробнее: _http://pythontesting.net/framework/nose/nose-introduction/.
Первые шаги с pandas
Лучший способ начать знакомство с pandas — открыть консоль Python и вводить команды одна за одной. Таким образом вы познакомитесь со всеми функциями и структурами данных.
Более того, данные и функции, определенные здесь, будут работать и в примерах будущих материалов. Однако в конце каждого примера вы вольны экспериментировать с ними.
Для начала откройте терминал Python и импортируйте библиотеку pandas. Стандартная практика для импорта модуля pandas следующая:
>>> import pandas as pd >>> import numpy as np
Теперь, каждый раз встречая pd и np вы будете ссылаться на объект или метод, связанный с этими двумя библиотеками, хотя часто будет возникать желание импортировать модуль таким образом:
>>> from pandas import *
В таком случае ссылаться на функцию, объект или метод с помощью pd уже не нужно, а это считается не очень хорошей практикой в среде разработчиков Python.
Обзор библиотеки pandas-profiling на примере датасета Superstore Sales
Перед тем как работать с данными, необходимо составить представление, с чем мы имеем дело. В материале будем рассматривать датасет SuperStore Sales, а именно его лист Orders. В нём собраны данные о покупках клиентов канадского интернет-супермаркета: идентификаторы заказа, товаров, клиента, тип доставки, цены, категории и названия продуктов и прочее. Подробнее с датасетом можно ознакомиться на GitHub. Например, если мы создадим из датасета DataFrame, можем воспользоваться стандартным методом describe() библиотеки pandas для описания данных:
import pandas as pd df = pd.read_csv('superstore_sales_orders.csv', decimal=',') df.describe(include='all')
И во многих случаях получим такую кашу:
Код библиотеки доступен на GitHub
Если постараться и потратить время, можно извлечь полезную информацию. Например, можем узнать, что люди чаще выбирают «Regular air» в качестве доставки или что большинство заказов поступило из провинции Онтарио. Тем не менее, есть и другое решение, которое подробнее и качественнее описывает датасет — библиотека pandas-profiling. Вы отдаёте ей DataFrame, а она генерирует html-страницу с подробным описанием сета данных:
import pandas_profiling profile = pandas_profiling.ProfileReport(df) profile.to_file("output.html")

Всего Pandas Profiling возвращает 6 разделов: обзор датасета, переменные, отношения и корреляцию между ними, количество пропущенных значений и примеры из датасета.
Web-версия отчёта доступна по ссылке
Обзор данных
Рассмотрим первый подраздел — «Overview». Библиотека собрала следующую статистику: количество переменных, наблюдений, пропущенных ячеек, дубликатов и общий вес файла. В колонке Variable types описаны типы переменных: здесь 12 качественных и 9 числовых.

В подразделе «Reproduction» собрана техническая информация библиотеки: сколько времени занял анализ сета данных, версия библиотеки и прочее.

А подраздел «Warnings» сообщает о возможных проблемах в структуре датасета: сейчас он, например, предупреждает, что у поля «Order Date» — слишком большое количество уникальных значений.

Переменные
Двигаемся ниже. В этом разделе содержится подробное описание каждой переменной: сколько возможных уникальных значений она принимает, сколько значений пропущено, сколько памяти занимает поле. Справа от статистики присутствует гистограмма с распределением значений поля.

При нажатии на Toggle details откроется расширенная информация: квартили, медиана и прочая полезная описательная статистика. В остальных вкладках находятся гистограмма из основного экрана, топ-10 значений по частоте и экстремальные значения.

Отношения переменных
В этом разделе визуализированы отношения переменных при помощи hexbin plot: выглядит это не очень очевидно и понятно. Особенно усугубляет положение отсутствие легенды к графику.

Корреляция переменных
В этом разделе представлена по-разному посчитананя корреляция переменных: например, первым указано r-value Пирсона. Заметно, что переменная Profit положительно коррелирует с переменной Sales . При нажатии на Toggle correlation descriptions открывается подробное пояснение к каждому коэффициенту.

Пропущенные значения
Тут всё просто — bar chart, матрица и дендрограмма с количеством заполненных полей в каждой переменной. Заметно, что в колонке Product Base Margin отсутствуют три значения.

Примеры
И, наконец, последний раздел представляет первые и последние 10 значений в качестве примера кусков сета данных — аналог метода head() из pandas.

Что в итоге?
Библиотека уделяет больше внимания статистике, чем pandas: можно получить подробную описательную статистику по каждой переменной, посмотреть, как коррелируют между собой столбцы датасета. В совокупности с генерацией простого и удобного интерфейса библиотека строит полноценный отчёт по датасету, уже на основании которого можно делать выводы и сформировать представление о данных.
И всё же, у библиотеки есть и минусы. На генерацию отчётов к громадным датасетам может уйти много времени вплоть до нескольких часов. Это безусловно хороший инструмент для автоматического проектирования, но он не может сделать полноценный анализ за вас и добавить больше деталей в графики. Кроме того, если вы только начали практиковаться с анализом данных лучше будет начать с pandas — это закрепит ваши навыки и придаст уверенности при работе с данными.
Как исправить: нет модуля с именем pandas
Одна распространенная ошибка, с которой вы можете столкнуться при использовании Python:
no module named ' pandas '
Эта ошибка возникает, когда Python не обнаруживает библиотеку pandas в вашей текущей среде.
В этом руководстве представлены точные шаги, которые вы можете использовать для устранения этой ошибки.
Шаг 1: pip установить Pandas
Поскольку pandas не устанавливается автоматически вместе с Python, вам нужно будет установить его самостоятельно. Самый простой способ сделать это — использовать pip , менеджер пакетов для Python.
Вы можете запустить следующую команду pip для установки панд:
pip install pandas
В большинстве случаев это исправит ошибку.
Шаг 2: Установите пип
Если вы все еще получаете сообщение об ошибке, вам может потребоваться установить pip. Используйте эти шаги , чтобы сделать это.
Вы также можете использовать эти шаги для обновления pip до последней версии, чтобы убедиться, что он работает.
Затем вы можете запустить ту же команду pip, что и раньше, для установки pandas:
pip install pandas
На этом этапе ошибка должна быть устранена.
Шаг 3: Проверьте версии pandas и pip
Если вы все еще сталкиваетесь с ошибками, возможно, вы используете другую версию pandas и pip.
Вы можете использовать следующие команды, чтобы проверить, совпадают ли ваши версии pandas и pip:
which python python --version which pip
Если две версии не совпадают, вам нужно либо установить более старую версию pandas, либо обновить версию Python.
Шаг 4: Проверьте версию панд
После того, как вы успешно установили pandas, вы можете использовать следующую команду, чтобы отобразить версию pandas в вашей среде:
pip show pandas Name: pandas Version: 1.1.5 Summary: Powerful data structures for data analysis, time series, and statistics Home-page: https://pandas.pydata.org Author: None Author-email: None License: BSD Location: /srv/conda/envs/notebook/lib/python3.6/site-packages Requires: python-dateutil, pytz, numpy Required-by: Note: you may need to restart the kernel to use updated packages.
Примечание. Самый простой способ избежать ошибок с версиями pandas и Python — просто установить Anaconda , набор инструментов, предустановленный вместе с Python и pandas и бесплатный для использования.
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные проблемы в Python:
Изучаем pandas. Урок 1. Введение в pandas и его установка
![]()
Это первый урок из цикла, посвященного библиотеке p andas. Данный цикл будет входить в большую группу обучающих материалов, тематику которых можно определить как “Машинное обучение и анализ данных”. pandas – это удобный и быстрый инструмент для работы с данными, обладающий большим функционалом.
Что такое pandas?
Если очень кратко, то pandas – это библиотека, которая предоставляет очень удобные с точки зрения использования инструменты для хранения данных и работе с ними. Если вы занимаетесь анализом данных или машинным обучением и при этом используете язык Python , то вы просто обязаны знать и уметь работать с pandas .
pandasвходи в группу проектов, спонсируемых numfocus . Numfocus – это организация, которая поддерживает различные проекты, связанные с научными вычислениями.
Официальный сайт pandas находится здесь . Стоит отметить, что документация по этому продукту очень хорошая . Если вы знаете английский язык, то для вас не будет большой проблемой разобраться с pandas .
Особенность pandas состоит в том, что эта библиотека очень быстрая, гибкая и выразительная. Это важно, т.к. она используется с языком Python , который не отличается высокой производительностью. pandas прекрасно подходит для работы с одномерными и двумерными таблицами данных, хорошо интегрирован с внешним миром – есть возможность работать с файлами CSV , таблицами Excel , может стыковаться с языком R .
Установка pandas
Для проведения научных расчетов, анализа данных или построения моделей в рамках машинно обучения для языка Python существуют прекрасное решение – Anaconda . Anaconda – это пакет, который содержит в себе большой набор различных библиотек, интерпретатор языка Python и несколько сред для разработки. Подробно об установке пакета Anaconda написано в этой статье .
pandas присутствует в стандартной поставке Anaconda . Если же его там нет, то его можно установить отдельно. Для этого стоит воспользоваться пакетным менеджером, который входит в состав Anaconda , который называется conda . Для его запуска необходимо перейти в каталог [Anaconda install path]\Scripts\ в Windows . В операционной системе Linux , после установки Anaconda менеджер conda должен быть доступен везде.
Введите командной строке:
>conda install pandas
В случае, если требуется конкретная версия pandas , то ее можно указать при установке.
>conda install pandas=0.13.1
При необходимости, можно воспользоваться пакетным менеджером pip , входящим в состав дистрибутива Python .
>pip install pandas
Если вы используете Linux , то ещё одни способ установить pandas – это воспользоваться пакетным менеджером самой операционной системы. Для Ubuntu это выглядит так:
>sudo apt-get install python-pandas
После установки необходимо проверить, что pandas установлен и корректно работает. Для этого запустите интерпретатор Python и введите в нем следующие команды.
>>> import pandas as pd >>> pd.test()
В результате в окне терминала должен появиться следующий текст:
Running unit tests for pandas pandas version 0.18.1 numpy version 1.11.1 pandas is installed in c:\Anaconda3\lib\site-packages\pandas Python version 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] nose version 1.3.7 . ---------------------------------------------------------------------- Ran 11 tests in 0.422s OK
Это будет означать, что pandas установлен и его можно использовать.
P.S.
Раздел: Pandas Python Машинное обучение и анализ данных Метки: ML, Pandas, Python, Машинное обучение
Изучаем pandas. Урок 1. Введение в pandas и его установка : 10 комментариев
- Дмитрий 04.09.2018 что делать если тест выдал такой результат? 12 failed, 14997 passed, 1193 skipped, 14 xfailed, 2 xpassed, 23 warnings in 753.69 seconds
- writer 04.09.2018 Думаю ничего в этом страшного нет, это означает, что часть тестов прошла с ошибками, часть была пропущена и т.п. Просто попробуйте запустить примеры из следующей статьи, посвященной pandas.
- Daniil14.11.2020 В PyCharm просто в терминале пропишите pip install pandas
- Алексей 04.10.2021 “В PyCharm просто в терминале пропишите pip install pandas” (с) SyntaxError: invalid syntax
- writer Автор записи 15.11.2018 Добрый день!
Вы работаете с Windows или Linux? Какая версия ОС у вас используется? Я могу попробовать на виртуалке развернуть и на чистой инсталляции проверить.
- writer 15.11.2018 Добрый день!
Просто перед тем как попасть на сайт комментарии проходят модерацию))
