Получение более широкой информации в встроенной консоли PyCharm

Я относительно новичок в использовании PyCharm IDE и не смог найти способ улучшить форму вывода, когда во встроенной консоли. Я, как правило, работаю с довольно широкими кадрами данных, которые легко помещаются на моем мониторе, но дисплей режет и обматывает их гораздо раньше, чем это необходимо.

Кто-нибудь знает настройки, чтобы изменить это поведение, чтобы воспользоваться полной шириной экрана?

Редактировать: у меня недостаточно репутации, чтобы опубликовать снимок экрана, но ссылка ниже: http://imgur.com/iiBK3iU

Я бы хотел, чтобы он не обертывался после нескольких столбцов (например, столбец "ReadmitRate" должен быть сразу справа от "SNFDaysPerSNFCase")

Ответы

Ответ 1

Похоже, я ошибался, думая, что проблема была одна в PyCharm (это можно решить, например, в настройке или предпочтении.) Это на самом деле связано с самой консольной сессией. Консоль пытается автоматически определить ширину области отображения, но когда это не удается, по умолчанию используется 80 символов. Это поведение можно переопределить:

import pandas as pd
desired_width = 320    
pd.set_option('display.width', desired_width)

Если вы, конечно же, можете установить desired_width в зависимости от того, что ваш дисплей будет терпеть. Спасибо @TidB за то, что моя первоначальная озабоченность не была сосредоточена в правильной области.

Ответ 2

Для меня просто установить 'display.width' в pycharm было недостаточно, оно продолжало отображаться в усеченном виде.

Однако добавление опции pd.set_option("display.max_columns", 10) вместе с шириной экрана сработало, и я смог увидеть весь фрейм данных, напечатанный в выводе "run".

В итоге:

import pandas as pd    
pd.set_option('display.width', 400)
pd.set_option('display.max_columns', 10)

Ответ 3

Ответ от @mattvivier прекрасно работает при печати данных Pandas (спасибо!).

Однако, если вы печатаете массивы NumPy, вам также нужно установить np.set_printoptions:

import pandas as pd
import numpy as np
desired_width = 320
pd.set_option('display.width', desired_width)
np.set_printoptions(linewidth=desired_width)

См. Документы в NumPy и set_printoptions.

Ответ 4

После ответа @mattvivier при новой установке я заметил, что pandas по-прежнему выводит только до 5 столбцов, чтобы исправить это, я добавил дополнительную строку кода, чтобы увеличить максимальное количество отображаемых столбцов.

import pandas as pd
pd.set_option('display.max_columns', 15)
desired_width = 200
pd.set_option('display.width', desired_width)

Прекрасно работает при выполнении кода в консоли Python.