Подтвердить что ты не робот

Максимально допустимые столбцы для ipython pandas

У меня есть простой файл csv с десятью столбцами!

Когда я устанавливаю следующий вариант в записной книжке и печатаю свой файл csv (который находится в фреймворке pandas), он не печатает все столбцы слева направо, он печатает первые два, следующие два под ним и т.д.

Я использовал этот параметр, почему он не работает?

pd.option_context("display.max_rows",1,"display.max_columns",100)

Даже это не работает:

pandas.set_option('display.max_columns', None)
4b9b3361

Ответ 1

Я предполагаю, что вы хотите отображать свои данные в записной книжке, чем следующие параметры работают для меня (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)

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

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

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

Ответ 2

Вы также можете отобразить все данные, запросив 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, и разница в скорости была заметной, но не неудобной. Если у вас огромный стол, не используйте этот метод, чтобы отображать всю вещь сразу. Тем не менее, если у вас есть огромная таблица, то все это сразу станет плохой идеей, но вы пытаетесь это сделать.