Таблица, сгенерированная пандой to_latex (), слишком широка. Longtable = True не работает - PullRequest
0 голосов
/ 15 июня 2019

Я хочу вставить фрейм данных в латексный отчет, используя метод pandas dataframe.to_latex().

Полученная таблица слишком широка и не помещается на одной странице. Я заметил, что у панд есть опция longtable=True. Переключение на True и добавление longtable в латексную преамбулу по-прежнему приводит к тому, что таблица слишком широка для страницы.

Вот рабочий пример:

Dataframe

data_dic = {'Sample1': {'Users': '4431761.3',
  'Opened app': '25.5%',
  'used once': '5.7%',
  'Android': '8.3%',
  'iOs': '4.6%',
  'Premium access',
  'Purchased': '0.34%',
  'Weeks': '12'},
 'Sample2': {'Users': '168,111.1',
  'Opened app': '5.4%',
  'used once': '2.2%',
  'Android': '69.4%',
  'iOs': '30.6%',
  'Premium access': '10.1%',
  'Purchased': '10.73%',
  'Weeks': '4'}}

df = pd.DataFrame.from_dict(data_dic, orient='index')
df.to_latex('sample_table.tex', longtable=True, bold_rows=True)

Минимальный рабочий пример в LaTex

\documentclass[a4paper, 12pt]{article}
\usepackage{booktabs, longtable}
\begin{document}
\section*{Table too wide}
Table below
\bigskip
\input{sample_table.tex} 
\bigskip
\end{document}

В идеале, я бы просто хотел, чтобы стол показывался разбитым и сложенным. Обтекание текста может также работать, поскольку оно может почти вписаться. Решение не должно использовать опцию longtable, но мне интересно знать, для чего эта опция, если не для этой конкретной ситуации.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...