Проблема, с которой я сталкиваюсь, связана с тем, как я могу заставить окно «Выполнить» отображать все столбцы данного фрейма данных pandas, не подгоняя его под размер окна (что происходит для меня либо путем усечения имен столбцов, либо не отображая все столбцы).
Другими словами, мне нужно, чтобы данные отображались в соответствующих строках, и, если вид окна слишком мал для отображения всех столбцов, должна появиться горизонтальная полоса (как обычно), чтобы я мог легко перемещаться по данным.
Предыстория: я обработал некоторые данные, автоматически выбирая и сохраняя различные части данных в определенных файлах ".h5" в формате таблицы. Это делается с помощью фреймов данных pandas и функции to_hdf. Затем я читаю его и получаю следующее:
Набор данных состоит из 35 столбцов (исключая столбец «Время») с количеством записей x в каждом из них. Для этого поста они были названы произвольно, чтобы проиллюстрировать проблему.
Обратите внимание, что:
- Soft-wrap отключен в
File -> Settings -> Editor -> General
разделе «Soft Wraps». - Я только что выполнил новую установку как Python 3.7, так и PyCharm Community Edition 2018.3.5 (изначально была проблема с версией 2019.1), с некоторыми импортированными настройками PyCharm из файла экспорта из PyCharm на моем компьютере дома.
- Горизонтальная полоса прокрутки кажется отключенной. Нигде не появляется. Что странно, поскольку мой домашний компьютер дает мне горизонтальную полосу прокрутки
- Поскольку вывод в окне «Выполнить» переносится и обрезается в соответствии с размером окна до запуска сценария (т. е. меньшее или полноэкранное окно), горизонтальная полоса прокрутки, скорее всего, снова активируется после удаления других эффектов.
Я хочу добиться трех целей:
- Показать все столбцы фрейма данных, позволяя мне прокручивать их с помощью горизонтальной полосы прокрутки (на данный момент кажется отключенной), что подразумевает:
- Без переноса имен столбцов, см. метки (1) и (2) на изображении выше. И никакого усечения/удаления столбцов из-за ограничения размера окна «Выполнить», см. метку (3) на том же изображении.
- Незначительная задача: в настоящее время столбец «Время» (который установлен как индекс строки) печатает только дату в этой распечатке, а также сохраняются часы, минуты и секунды. Надеюсь, это будет автоматически исправлено после исправления 1. и 2. (мои другие таблицы показывают полную дату + часы и т. д. без проблем).
Это то, что я пробовал
Я использовал следующие две строки, чтобы несколько улучшить распечатку:
pd.set_option('display.max_columns', 20)
pd.set_option('display.width', 2000)
Это дает аккуратный вывод, см. ниже: а>
Однако показаны не все из 35 столбцов, см. метку (1)/символ «…». Метки. Когда я увеличиваю разрешенное количество столбцов с 20 до 40, pd.set_option('display.max_columns', 40)
, происходит следующее:
Кажется, мы вернулись к исходной точке. К счастью, один из негативных эффектов ушел, а именно эффект усечения, т.е. что я думаю об удалении показанных столбцов.
Тем не менее, перенос столбцов по-прежнему происходит, так что теперь количество строк в два раза больше, в то время как должна быть возможность отображать все в своих собственных строках, автоматически отображая горизонтальную полосу, позволяющую пользователю перемещаться по этим данным.
Я также просмотрел эту ссылку, чтобы узнать больше о вариантах. с методами set_option панд. Я нашел и попробовал эту строку, pd.set_option('expand_frame_repr', True)
, в дополнение к другим линиям, которые я использовал. Но в моем случае это ничего не изменило.
Есть идеи?