Установка

Проще всего установить pandas в составе Anaconda — кроссплатформенного дистрибутива для анализа данных и научных вычислений. Это рекомендуемый метод установки для большинства пользователей.

Здесь вы также найдете инструкции по установке из исходников, с помощью PyPI, ActivePython, различных дистрибутивов Linux и версию для разработки.

Поддержка версий Python

Официально поддерживается Python 3.8, 3.9 и 3.10.

Установка pandas

Установка с помощью Anaconda

Установка pandas и остальной части стека NumPy и SciPy может быть немного сложной для неопытных пользователей.

Проще всего установить не только pandas, но и Python и самые популярные пакеты, составляющие стек SciPy (IPython , NumPy, Matplotlib и так далее) с использованием Anaconda — кроссплатформенного (Linux, macOS, Windows) дистрибутива Python для анализа данных и научных вычислений.

После запуска установщика пользователь получит доступ к pandas и остальной части стека SciPy без необходимости устанавливать что-либо еще и без необходимости ждать, пока какое-либо программное обеспечение будет скомпилировано.

Инструкции по установке Anaconda можно найти здесь.

Полный список пакетов, доступных в составе дистрибутива Anaconda, можно найти здесь.

Еще одним преимуществом установки Anaconda является то, что вам не нужны права администратора для ее установки. Anaconda может быть установлена в домашнем каталоге пользователя, что упрощает удаление Anaconda в случае необходимости (просто удалите эту папку).

Установка с помощью Miniconda

В предыдущем разделе было описано, как установить pandas в составе дистрибутива Anaconda. Однако этот подход означает, что вы установите более сотни пакетов и предполагает загрузку установщика, размер которого составляет несколько сотен мегабайт.

Если вы хотите иметь больший контроль над пакетами или пропускная способность интернета у вас ограничена, то установка pandas с помощью Miniconda может вам подойти лучше.

Conda — это менеджер пакетов, на котором построен дистрибутив Anaconda. Это менеджер пакетов, который является одновременно кроссплатформенным и независимым от языка (он похож на комбинацию pip и virtualenv).

Miniconda позволяет вам создать минимальную автономную установку Python, а затем использовать команды Conda для установки дополнительных пакетов (см. краткое руководство по Miniconda на русском).

Сначала вам нужно установить Conda, и загрузка и запуск Miniconda решит эту задачу. Установщик можно найти здесь.

Следующим шагом является создание новой среды conda. Виртуальная среда conda похожа на ту, которая создается virtualenv, она позволяет указать конкретную версию Python и набор библиотек. Запустите следующие команды из окна терминала:

conda create -n name_of_my_env python

Это создаст минимальную среду, в которой будет установлен только Python. Чтобы активировать эту среду, запустите:

source activate name_of_my_env

В Windows команда следующая:

activate name_of_my_env

Последним шагом необходимо установить pandas. Это можно сделать с помощью следующей команды:

conda install pandas

Установить определенную версию pandas:

conda install pandas=0.20.3

Установить другие пакеты, например, IPython:

conda install ipython

Установить полный дистрибутив Anaconda:

conda install anaconda

Если вам нужны пакеты, доступные для pip, но не для conda, установите pip, а затем используйте pip для установки этих пакетов:

conda install pip
pip install django

Установка из PyPI

pandas можно установить через pip из PyPI.

Примечание

У вас должен быть pip>=19.3 для установки из PyPI.

pip install pandas

Установка с ActivePython

Инструкции по установке ActivePython можно найти здесь. Версии 2.7, 3.5 и 3.6 включают pandas.

Установка с помощью менеджера пакетов вашего дистрибутива Linux.

Команды в этой таблице установят pandas для Python 3 из вашего дистрибутива.

Дистрибутив

Статус

Ссылка на скачивание / репозиторий

Команда для установки

Debian

стабильный

Официальный репозиторий Debian

sudo apt-get install python3-pandas

Debian & Ubuntu

нестабильный (последние пакеты)

NeuroDebian

sudo apt-get install python3-pandas

Ubuntu

стабильный

Официальный репозиторий Ubuntu

sudo apt-get install python3-pandas

OpenSuse

стабильный

Репозиторий OpenSuse

zypper in python3-pandas

Fedora

стабильный

Официальный репозиторий Fedora

dnf install python3-pandas

Centos/RHEL

стабильный

Репозиторий EPEL

yum install python3-pandas

Однако пакеты в менеджерах пакетов linux часто отстают на несколько версий, поэтому, чтобы получить новейшую версию pandas, рекомендуется устанавливать ее с помощью команд pip или conda, описанных выше.

Обработка ошибок импорта

Если вы столкнулись с ошибкой ImportError, это обычно означает, что Python не смог найти pandas в списке доступных библиотек. Внутри Python есть список каталогов, в которых он ищет пакеты. Вы можете получить список этих каталогов с помощью команды:

import sys
sys.path

Одна из возможных причин ошибки — это если Python в системе установлен более одного раза, и pandas не установлен в том Python, который вы используете на текущий момент. В Linux/Mac вы можете запустить what python на своем терминале, и он сообщит вам, какой Python вы используете. Если это что-то вроде «/usr/bin/python», вы используете Python из системы, что не рекомендуется.

Настоятельно рекомендуется использовать conda для быстрой установки и обновления пакетов и зависимостей. Вы можете найти простые инструкции по установке pandas в этом документе.

Установка из исходников

Полные инструкции по сборке из исходного дерева git см. в Contributing guide. Если вы хотите создать среду разработки pandas, смотрите Creating a development environment.

Запуск набора тестов

pandas оснащен исчерпывающим набором модульных тестов, покрывающих около 97% кодовой базы на момент написания этой статьи. Чтобы запустить его на своем компьютере и удостовериться, что все работает (и что у вас установлены все зависимости, программные и аппаратные), убедитесь, что у вас есть pytest >= 6.0 и Hypothesis >= 3.58, затем запустите:

>>> pd.test()
running: pytest --skip-slow --skip-network C:\Users\TP\Anaconda3\envs\py36\lib\site-packages\pandas
============================= test session starts =============================
platform win32 -- Python 3.6.2, pytest-3.6.0, py-1.4.34, pluggy-0.4.0
rootdir: C:\Users\TP\Documents\Python\pandasdev\pandas, inifile: setup.cfg
collected 12145 items / 3 skipped

..................................................................S......
........S................................................................
.........................................................................

==================== 12130 passed, 12 skipped in 368.339 seconds =====================

Зависимости

Пакет

Минимальная поддерживаемая версия

NumPy

1.18.5

python-dateutil

2.8.1

pytz

2020.1

Дополнительные зависимости

pandas имеет множество необязательных зависимостей, которые используются только для определенных методов. Например, для pandas.read_hdf() требуется пакет pytables, а для DataFrame.to_markdown() – пакет tabulate. Если необязательная зависимость не установлена, pandas выведет ImportError при вызове метода, требующего этой зависимости.

Визуализация

Зависимость

Минимальная версия

Примечания

matplotlib

3.3.2

Библиотека графиков

Jinja2

2.11

Условное форматирование с DataFrame.style

tabulate

0.8.7

Печать в формате, дружественном к Markdown (см. tabulate)

Вычисления

Зависимость

Минимальная версия

Примечания

SciPy

1.14.1

Дополнительные статистические функции

numba

0.50.1

Альтернативный механизм выполнения операций прокатки (см. Enhancing performance)

xarray

0.15.1

pandas-подобный API для N-мерных данных

Файлы Excel

Зависимость

Минимальная версия

Примечания

XLRD

2.0.1

Чтение Excel

xlwt

1.3.0

Запись Excel

xlsxwriter

1.2.2

Запись Excel

openpyxl

3.0.3

Чтение и запись файлов xlsx

pyxlsb

1.0.6

Чтение файлов xlsb

HTML

Зависимость

Минимальная версия

Примечания

BeautifulSoup4

4.8.2

Парсер HTML для read_html

html5lib

1.1

Парсер HTML для read_html

lxml

4.5.0

Парсер HTML для read_html

Для использования функции верхнего уровня read_html() необходима одна из следующих комбинаций библиотек:

  • BeautifulSoup4 и html5lib

  • BeautifulSoup4 и lxml

  • BeautifulSoup4 и html5lib и lxml

  • Только lxml, хотя в HTML Table Parsing Gotchas объясняется, почему вам, вероятно, не следует использовать этот подход.

Предупреждение

  • Если вы устанавливаете BeautifulSoup4, вы должны установить либо lxml, либо html5lib, либо оба. read_html() не работает, если установлен только BeautifulSoup4 (см. подробнее о парсерах в документации BeautifulSoup на русском).

  • Настоятельно рекомендуется прочитать HTML Table Parsing Gotchas. Там объясняются проблемы, связанные с установкой и использованием трех вышеуказанных библиотек.

XML

Зависимость

Минимальная версия

Примечания

lxml

4.5.0

Анализатор XML для read_xml и построитель дерева для to_xml

Базы данных SQL

Зависимость

Минимальная версия

Примечания

SQLAlchemy

1.4.0

Поддержка SQL для баз данных, отличных от sqlite

psycopg2

2.8.4

Движок PostgreSQL для sqlalchemy

pymysql

0.10.1

Движок MySQL для sqlalchemy

Другие источники данных

Зависимость

Минимальная версия

Примечания

PyTables

3.6.1

Чтение и запись на основе HDF5

blosc

1.20.1

Сжатие для HDF5

zlib

Сжатие для HDF5

fastparquet

0.4.0

Чтение и запись parquet

pyarrow

1.0.1

Чтение и запись parquet, ORC и feather

pyreadstat

1.1.0

Чтение файлов SPSS (.sav)

Предупреждение

  • Если вы хотите использовать read_orc(), настоятельно рекомендуется установить pyarrow с помощью conda. Ниже приводится краткое описание среды, в которой может работать read_orc().

    Система

    Conda

    PyPI

    Linux

    Успешно

    Ошибка (pyarrow == 3.0 Успешно)

    macOS

    Успешно

    Не удалось

    Windows

    Не удалось

    Не удалось

Доступ к данным в облаке

Зависимость

Минимальная версия

Примечания

fsspec

0.7.4

Обработка файлов помимо простых локальных и HTTP

gcsfs

0.6.0

Доступ к облачному хранилищу Google

pandas-gbq

0.14.0

Доступ к Google Big Query

s3fs

0.4.0

Доступ к Amazon S3

Буфер обмена

Зависимость

Минимальная версия

Примечания

PyQt4/PyQt5

Ввод и вывод буфера обмена

qtpy

Ввод и вывод буфера обмена

xclip

Ввод и вывод буфера обмена в Linux

xsel

Ввод и вывод буфера обмена в Linux

Сжатие

Зависимость

Минимальная версия

Примечания

Zstandard

Сжатие Zstandard