Настройки отображения панд часто упускаются из виду. Многие пользователи не знают, что могут настраивать параметры отображения.

У pandas есть система опций, которая позволяет вам настраивать некоторые аспекты его поведения, причем параметры, связанные с отображением, - это те, которые пользователь, скорее всего, настроит.

Настройки отображения панд часто упускаются из виду. Для большинства пользователей настройки по умолчанию достаточно хороши, но многие пользователи не знают о настройках дисплея и находят альтернативный громоздкий способ их преодоления. Чтобы стать экспертом по пандам, вы должны хотя бы знать о параметрах настройки дисплея.

Вот несколько ссылок, которые могут вас заинтересовать:

- Labeling and Data Engineering for Conversational AI and Analytics
- Data Science for Business Leaders [Course]
- Intro to Machine Learning with PyTorch [Course]
- Become a Growth Product Manager [Course]
- Deep Learning (Adaptive Computation and ML series) [Ebook]
- Free skill tests for Data Scientists & Machine Learning Engineers

Некоторые из приведенных выше ссылок являются партнерскими, и если вы перейдете по ним, чтобы совершить покупку, я буду получать комиссию. Имейте в виду, что я связываю курсы из-за их качества, а не из-за комиссии, которую я получаю от ваших покупок.

Чтобы расширить свои возможности в игре Pandas, прочтите:



Настраивать

import os
import platform
from platform import python_version
import jupyterlab
import pandas as pd
import random
print("System")
print("os name: %s" % os.name)
print("system: %s" % platform.system())
print("release: %s" % platform.release())
print()
print("Python")
print("version: %s" % python_version())
print()
print("Python Packages")
print("jupterlab==%s" % jupyterlab.__version__)
print("pandas==%s" % pd.__version__)
seed = 42
random.seed(seed)
pd.np.random.seed(seed)

Давайте определим набор данных. В нем 100 строк и 2 столбца:

  • col1 имеет случайные числа от 0 до 1,
  • col2 имеет случайные предложения, состоящие из 200 символов.
def generate_sentence(n_chars=200):
    return ''.join(random.choice('abcdefg ') for _ in range(n_chars))
n = 100
df = pd.DataFrame(
    {
        "col1": pd.np.random.random_sample(n),
        "text": [generate_sentence() for _ in range(n)]
    }
)
df.shape
(100, 2)

Подавить научную нотацию

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

Давайте заменим первое значение в col1 небольшим числом. pandas вынужден отображать col1 в экспоненциальной нотации из-за небольшого числа.

df.iloc[0, 0] = 1e-10
df.head()

С помощью float_format мы можем установить количество десятичных знаков, которое мы хотели бы отображать (10 в примере ниже).

pd.options.display.float_format = '{:,.10f}'.format
df.head()

С помощью команды reset_option мы возвращаем его в научную нотацию.

pd.reset_option('display.float_format')

Максимальное количество столбцов / строк для отображения

При работе с большими наборами данных мы замечаем, что pandas не отображает все столбцы или строки. Очевидно, это из соображений производительности. Хотя я не против скрывать строки, я могу разочароваться, если не вижу все столбцы (20 - ограничение по умолчанию).

Давайте преобразуем строки в столбцы, чтобы визуализировать проблему из первых рук.

df.T

Теперь давайте установим максимальное количество столбцов равным 100.

pd.set_option("display.max_columns", 100)
df.T

Чтобы сбросить отображение максимального количества столбцов, мы можем вернуть его на 20.

pd.set_option("display.max_columns", 20)

У Pandas также есть опция get, чтобы узнать, какое значение установлено в данный момент.

pd.get_option('display.max_columns')
20

Мы можем сделать то же самое с display.max_rows для строк.

Увеличьте ширину столбца

Обычно при работе с текстовыми данными строки видны лишь частично из-за своей длины. Pandas позволяет нам увеличить ширину столбца с помощью параметра max_colwidth.

pd.set_option('max_colwidth', 500)

Информация о фрейме данных

Я уверен, что вы знакомы с функцией описания со сводной статистикой вывода для каждого столбца в DataFrame. Опция info похожа на функцию meta description, поскольку она выводит метаданные для DataFrame, такие как типы данных, ненулевые объекты и использование памяти.

Это полезно при работе с большими наборами данных.

pd.set_option('large_repr', 'info')
df

pd.reset_option('large_repr') # reset it

Заключение

Это были наиболее часто используемые настройки отображения панд. Если вы хотите узнать больше о настройках дисплея, прочтите раздел Параметры и настройки документации pandas.

Прежде чем ты уйдешь

Следуйте за мной в Twitter, где я регулярно пишу твиты о Data Science и машинном обучении.