Почему панды скрывают столбцы во время отображения? [Дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

14
задан yoshiserry 27 November 2014 в 06:43
поделиться

2 ответа

Предполагаю, что вы хотите отображать свои данные в записной книжке, чем следующие параметры работают для меня (IPython 2.3):

import pandas as pd
from IPython.display import display
data = pd.read_csv('yourdata.txt')

Либо установите опцию

pd.options.display.max_columns = None
display(data)

Или используйте метод set_option, который вы показали, действительно отлично работает

pd.set_option('display.max_columns', None)
display(data)

Если вы не хотите устанавливать эти параметры для всего скрипта, используйте диспетчер контекста

with pd.option_context('display.max_columns', None):
    display(data)

Если это не поможет, вы можете дать минимальный пример для воспроизведения вашей проблемы.

25
ответ дан Jakob 19 August 2018 в 07:25
поделиться
  • 1
    Я использую python 3.4 – yoshiserry 27 November 2014 в 08:23
  • 2
    Я пробовал с python 2.7 и 3.4. Оба работают так, как ожидалось. – Jakob 27 November 2014 в 09:03
  • 3
    Спасибо, Якоб! Это сработало. Я никогда не видел «отображение (данные)» часть, хотя, что она делает? – yoshiserry 27 November 2014 в 22:16
  • 4
    display(data) похож на print data, но использует систему отображения, богатую IPython. Если вы просто вызываете данные, вы получаете представление данных как вывод (обратите внимание на OUT [x]), который отлично подходит для первых двух параметров, но менеджер контекста требует вызова дисплея. – Jakob 27 November 2014 в 22:29
  • 5
    выводит ли данные все записи по умолчанию ?, где в качестве заголовка отображаются только значения по умолчанию 5 или .head (20) – yoshiserry 27 November 2014 в 22:47

Вы также можете отобразить все данные, попросив pandas вернуть HTML-разметку, а затем IPython отобразит таблицу HTML.

import pandas as pd
from IPython.display import HTML
data = pd.read_csv('yourdata.csv')
HTML(data.to_html())

Используя IPython 3.0.0 и Python 3.4, я обнаружил, что display(data), как описано в @Jakob, будет отображаться в виде таблицы с полосами прокрутки вверх / вниз и влево / вправо, но таблица по-прежнему шире, чем ячейка, а некоторые столбцы находятся вне экрана справа. Чтобы увидеть все данные, нужно свернуть ячейку, которая добавляет полосы прокрутки. Следовательно, у вас есть прокрутка в окне прокрутки, что не идеально, поскольку вам нужно переместить фокус между удвоенными полосами прокрутки, чтобы полностью перемещаться по данным.

Используя метод HTML, вы сделать огромную таблицу как есть без полос прокрутки. Затем эта ячейка может быть свернута вниз, чтобы показать только одну вертикальную и горизонтальную полосу, что более удобно.

Предостережение относительно использования HTML - это то, что таблица занимает больше времени для рендеринга. Я использовал только матрицу размером 150x50, и разница в скорости была заметной, но не неудобной. Если у вас огромный стол, не используйте этот метод, чтобы отображать всю вещь сразу. Тем не менее, если у вас есть огромная таблица, то все это сразу станет плохой идеей, но вы пытаетесь это сделать.

0
ответ дан scottclowe 19 August 2018 в 07:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: