Как я могу распечатать фрейм данных pandas в виде красивой текстовой таблицы, как показано ниже?
+------------+---------+-------------+
| column_one | col_two | column_3 |
+------------+---------+-------------+
| 0 | 0.0001 | ABCD |
| 1 | 1e-005 | ABCD |
| 2 | 1e-006 | long string |
| 3 | 1e-007 | ABCD |
+------------+---------+-------------+
tabulate([list(row) for row in df.values], headers=list(df.columns))
избавиться от индексаprint(tabulate(df, **kwargs))
а не простоtabulate(df, **kwargs)
; последний покажет все новые строчки\n
....showindex=False
Простой подход - выводить как html, что pandas делает из коробки :
источник
панды> = 1.0
Если вы хотите, чтобы встроенная функция сбрасывала ваши данные в какую-то уценку github, теперь она у вас есть. Взгляните на
to_markdown
:Вот как это выглядит на github:
Обратите внимание, что вам все равно потребуется установить
tabulate
пакет.источник
Если вы работаете в записной книжке Jupyter, вы можете запустить следующий код для интерактивного отображения фрейма данных в хорошо отформатированной таблице.
Этот ответ основан на ответе to_html ('temp.html') выше, но вместо создания файла отображает хорошо отформатированную таблицу непосредственно в записной книжке:
Кредит для этого кода из-за примера в: Показать DataFrame как таблицу в iPython Notebook
источник
Вы можете использовать prettytable для отображения таблицы как текста. Хитрость заключается в том, чтобы преобразовать data_frame в файл csv в памяти и получить удобное чтение. Вот код:
источник
prettytable
в основном считается заброшенным ПО. Жалко тоже, потому что это была хорошая посылка. :(prettytable
не имеет релиза с 6 апреля 2013 года.tabulate
является его духовным предшественником и имеет регулярные релизы, последний из которых - 24 января 2019 года.Некоторое время я использовал ответ Офера и в большинстве случаев находил его отличным. К сожалению, из-за несоответствий между to_csv pandas и from_csv prettytable мне пришлось использовать prettytable по-другому.
Один случай сбоя - это кадр данных, содержащий запятые:
Prettytable вызывает ошибку формы:
Следующая функция обрабатывает этот случай:
Если вас не волнует индекс, используйте:
источник
format_for_print()
функция, похоже, не печатает индекс Pandas DataFrame. Я установил индекс с помощью,df.index.name = 'index'
но это не печатает столбец индекса с именем.Следуя ответу Марка, если вы по какой-то причине не используете Jupyter, например, вы хотите провести быстрое тестирование на консоли, вы можете использовать
DataFrame.to_string
метод, который работает, по крайней мере, с Pandas 0.12 (2014) и далее. .источник
Может быть, вы ищете что-то вроде этого:
источник
Мне нужна была бумажная распечатка фрейма данных, но я хотел добавить некоторые результаты и комментарии на той же странице. Я проработал все вышесказанное и не смог получить то, что хотел. В итоге я использовал операторы file.write (df1.to_csv ()) и file.write (",,, blah ,,,,,, blah"), чтобы добавить на страницу свои дополнения. Когда я открыл файл csv, он сразу попал в электронную таблицу, которая распечатала все в нужном темпе и формате.
источник