Я борюсь с, казалось бы, очень простой вещью: у меня есть фрейм данных pandas, содержащий очень длинную строку.
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
Теперь, когда я пытаюсь напечатать то же самое, я не вижу полной строки, а скорее вижу только ее часть.
Я пробовал следующие варианты
- с помощью
print(df.iloc[2])
- с помощью
to_html
- с помощью
to_string
- В одном из ответов stackoverflow предлагалось увеличить ширину столбца с помощью параметра отображения панд, который тоже не сработал.
- Я тоже не понял, как
set_printoptions
мне помогут.
Любые идеи приветствуются. Выглядит очень просто, но не получается!
Используется
pd.set_option('display.max_colwidth', -1)
для автоматического переноса строк и многострочных ячеек.Это отличный ресурс о том, как в полной мере использовать дисплей jupyters с пандами.
источник
pd.set_option('display.max_colwidth', None)
для более новых версийДругой, довольно простой подход - вызвать функцию списка:
Не стоит упоминать, что это нехорошо, чтобы перечислить целые столбцы, но для простой строки - почему бы и нет
источник
Еще один более простой способ распечатать всю строку - вызвать
values
фрейм данных.Результат будет
источник
Это то, что вы хотели сделать?
источник
Просто добавьте следующую строку в свой код перед печатью.
Вы можете просто выполнить следующие шаги для настройки других дополнительных параметров,
Вы можете изменить параметры функции pandas max_columns следующим образом, чтобы отображать больше столбцов
(это позволяет отображать 10 столбцов, вы можете изменить это по своему усмотрению)
Таким образом, вы можете изменить количество строк, которые вам нужно отобразить следующим образом, чтобы отобразить больше строк
(это позволяет печатать 999 строк за раз)
это должно работать нормально
Пожалуйста, обратитесь к документу, чтобы изменить дополнительные параметры / настройки для панд
источник
Я часто справляюсь с описанной вами ситуацией, используя
.to_csv()
метод и записывая его в stdout:Обновление: теперь должно быть возможно просто использовать
None
вместоsys.stdout
аналогичного эффекта!Это должно выгрузить весь фрейм данных, включая все строки. Вы можете использовать параметры to_csv, чтобы настроить разделители столбцов, напечатать ли индекс и т. Д. Это будет менее привлекательно, чем его правильная визуализация.
Первоначально я разместил это в ответ на несколько связанный вопрос в разделе « Вывод данных из всех столбцов в фрейме данных в пандах».
источник
Я создал небольшую служебную функцию, она мне подходит
Я могу изменить длину ширины в соответствии с моими требованиями, без постоянной установки каких-либо параметров.
источник
Если вы используете блокнот jupyter, вы также можете распечатать фреймворк pandas в виде таблицы HTML, которая будет печатать полные строки.
Вывод
источник