Отображение всех столбцов и строк в DataFrame Pandas

В этом учебном пособии вы узнаете, как изменить параметры отображения в Pandas для вывода всех столбцов, а также всех строк в вашем DataFrame. По умолчанию Pandas ограничит количество отображаемых столбцов и строк. Хотя это может быть полезно с точки зрения возможности прочитать содержимое, это часто может привести к разочарованию, если данные, которые вы хотите увидеть, не отображаются.

К концу этого урока вы научитесь:

  • Как определить значения по умолчанию для количества столбцов и строк, которые будет отображать Pandas

  • Как показать все столбцы и/или строки в кадре данных Pandas

  • Как указать количество столбцов и/или строк для отображения из DataFrame Pandas

  • Как сбросить отображаемые значения к значениям по умолчанию

Оглавление

Загрузка образца DataFrame Pandas

Чтобы следовать этому учебному пособию построчно, не стесняйтесь копировать и вставлять код ниже, чтобы загрузить образец DataFrame Pandas. Мы будем использовать функцию load_dataset() из библиотеки Seaborn и загружать набор данных 'brain_networks'. Если у вас есть свои данные, не стесняйтесь использовать их.

import pandas as pd
from seaborn import load_dataset

# Загружаем датасет 'brain_networks' из библиотеки seaborn
df = load_dataset('brain_networks')
print(df)

# Возвращает:
#     network                    1                  1.1  ...                 17.4                17.5                 17.6
# 0      node                    1                    1  ...                    3                   3                    4
# 1      hemi                   lh                   rh  ...                   lh                  rh                   lh
# 2       NaN                  NaN                  NaN  ...                  NaN                 NaN                  NaN
# 3         0    56.05574417114258    92.03103637695312  ...  -10.520872116088867  120.49046325683594  -39.686431884765625
# 4         1     55.5472526550293     43.6900749206543  ...  -39.607521057128906   24.76401138305664    -36.7710075378418
# ..      ...                  ...                  ...  ...                  ...                 ...                  ...
# 918     915  -7.4295125007629395    -4.81321907043457  ...   22.893030166625977   48.27437973022461    76.22845458984375
# 919     916   -33.55413818359375   -38.60562133789063  ...    24.97454833984375   51.97215270996094    64.53878784179689
# 920     917   -78.53956604003906   -74.19718933105469  ...    66.99440002441406   81.53924560546875    64.96977233886719
# 921     918  -103.23582458496094    -98.7442855834961  ...   20.517745971679688   3.124434232711792    56.71838760375977
# 922     919   -36.28886795043945  -10.762069702148438  ...    8.300398826599121  33.687530517578125   17.960655212402344

# [923 rows x 63 columns]

При выводе DataFrame на печать можно заметить, что как ось столбцов, так и ось строк были усечены. Давайте начнем с изучения способов определения количества строк и столбцов, которые Pandas отображает по умолчанию.

Поиск значений по умолчанию для количества столбцов/строк, отображаемых Pandas

Чтобы отобразить количество строк и столбцов, которые Pandas показывает по умолчанию, мы можем использовать функцию .get_option(). Эта функция принимает значение и возвращает указанную опцию для этого значения.

В данном случае мы ищем два конкретных варианта:

  • 'display.max_columns', который контролирует количество отображаемых столбцов

  • 'display.max_rows', который контролирует количество отображаемых строк

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

# Определение максимального количества строк для отображения
print(pd.get_option('display.max_rows'))

# Возвращает: 0

Значение, возвращенное в данном случае, равно 0. Ноль является особым случаем. Это означает, что Pandas автоматически попытается найти наилучший вариант, исходя из размера вашего терминала.

В этом разделе вы узнаете, как отобразить все колонки вашего DataFrame в Pandas. Для этого мы можем использовать функцию pd.set_option(). Аналогично приведенному выше примеру, мы хотим установить параметр display.max_columns

Чтобы отобразить все столбцы в Pandas, мы должны установить эту опцию в значение None. Давайте посмотрим, как мы можем это сделать:

pd.set_option('display.max_columns', None)
print(df.head(2))

# Возвращает:
#   network   1 1.1   2 2.1   3 3.1   4 4.1   5 5.1   6 6.1 6.2 6.3   7 7.1 7.2  \
# 0    node   1   1   1   1   1   1   1   1   1   1   1   1   2   2   1   1   2   
# 1    hemi  lh  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh   

#   7.3 7.4 7.5   8 8.1 8.2 8.3 8.4 8.5   9 9.1  10 10.1  11 11.1  12 12.1 12.2  \
# 0   2   3   3   1   1   2   2   3   3   1   1   1    1   1    1   1    1    2   
# 1  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh  rh  lh   rh  lh   rh  lh   rh   lh   

#   12.3 12.4  13 13.1 13.2 13.3 13.4 13.5  14 14.1  15 15.1  16 16.1 16.2 16.3  \
# 0    2    3   1    1    2    2    3    4   1    1   1    1   1    1    2    2   
# 1   rh   lh  lh   rh   lh   rh   rh   rh  lh   rh  lh   rh  lh   rh   lh   rh   

#   16.4 16.5 16.6 16.7  17 17.1 17.2 17.3 17.4 17.5 17.6  
# 0    3    3    4    4   1    1    2    2    3    3    4  
# 1   lh   rh   lh   rh  lh   rh   lh   rh   lh   rh   lh  

В этом случае Pandas будет продолжать оборачивать столбцы, даже если они разделяются на несколько строк.

Еще один способ достичь этого - использовать прямое присваивание. Мы можем сделать это, непосредственно присвоив значение опции, как показано ниже:

# Установка опции отображения напрямую
pd.options.display.max_columns = None

Как указать количество столбцов для отображения в таблице данных Pandas

Мы можем использовать точно такой же метод, чтобы заставить Pandas отображать заданное количество столбцов. Это можно сделать, передав конкретное количество столбцов в опцию.

Например, если мы хотим отобразить 8 колонок, мы могли бы использовать один из двух методов ниже:

# Указание количества отображаемых столбцов
pd.set_option('display.max_columns', 8)

# Или
# pd.options.display.max_columns = 8

print(df.head(2))

# Возвращает:
#   network   1 1.1   2  ... 17.3 17.4 17.5 17.6
# 0    node   1   1   1  ...    2    3    3    4
# 1    hemi  lh  rh  lh  ...   rh   lh   rh   lh

# [2 rows x 63 columns]

Как показать все строки в таблице данных Pandas

В других случаях вы можете захотеть по умолчанию отображать другое количество строк. Это можно сделать точно так же, как описано выше, за исключением того, что нам нужно будет указать опцию display.max_rows. Поэтому мы можем использовать любой из нижеприведенных вариантов:

# Указание количества отображаемых строк
pd.set_option('display.max_rows', None)

# Или
# pd.options.display.max_rows = None

Из-за объема набора данных, строки здесь выводиться не будут.

Как указать количество строк для отображения в таблице данных Pandas

Как и в приведенном выше примере, мы можем легко указать количество отображаемых строк. Как правило, Pandas отображает первые пять строк и последние пять строк. Мы можем изменить это поведение, переопределив значения отображения и указав конкретное значение.

Это поведение работает немного иначе, поскольку нам также необходимо установить минимальное количество отображаемых строк.

Давайте рассмотрим пример, чтобы по умолчанию отобразить 20 строк:

# Отображение 20 строк в DataFrame
pd.set_option('display.max_rows', 200)
pd.set_option('display.min_rows', 20)

Как сбросить параметры отображения в Pandas

Для сброса параметров отображения Pandas предлагает ряд подходящих по названию функций. Мы можем использовать функцию pd.reset_option()

Чтобы сбросить количество столбцов, которые мы хотим отобразить, можно использовать следующий код:

# Сброс количества отображаемых столбцов
pd.reset_option('display.max_columns')

Чтобы сбросить количество отображаемых строк, мы можем использовать следующий код:

# Сброс количества отображаемых строк
pd.reset_option('display.max_rows')

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

# Сброс всех опций отображения одновременно
pd.reset_option("^display")

Заключение

В этом посте вы узнали, как отображать все столбцы или строки в DataFrame библиотеки Pandas. Вы научились изменять настройки отображения в Pandas, чтобы указывать, сколько столбцов и строк отображать. Также вы узнали, как сбросить эти значения до их значений по умолчанию.

Дополнительные ресурсы

Чтобы узнать больше о связанных темах, ознакомьтесь с нижеприведенными учебными пособиями:

  • Pandas: количество столбцов (подсчет столбцов фрейма данных)

  • Pandas: создайте фрейм данных из списков (5 способов!)

  • Создайте пустой фрейм данных Pandas и добавьте данные

Last updated