Вопрос по python – «Таблицы зебры» в IPython Notebook?

10

Я создаю некоторые интерактивные рабочие процессы в IPython, используя фантастический Блокнот для интерактивного анализа и Pandas.

Некоторые из отображаемых мною таблиц было бы намного легче читать с небольшим количеством форматирования. Мне действительно нравится что-то вроде «таблиц зебры» где каждый второй ряд затенен. ячитай здесь о том, как это форматирование может быть реализовано с помощью CSS. Есть ли действительно простой способ применить CSS кIPython Notebook а затем таблицы отображаются с использованием таблицы стилей?

Ваш Ответ

3   ответа
13

уценки внутри<script> теги или через IPythonIPython.core.display.Javascript учебный класс. С их помощью вы можете манипулировать (или разрушать) документ для своего сердца, включая добавление таблиц стилей.

Например, следующие разделят таблицы соответствующим образом:

<script type="text/javascript">
    $('head').append(
        "<style type='text/css'>tr.odd{background-color: #def}</style>"
    );
</script>

Если вы просто вставите это в одну из ваших ячеек уценки, то это будет применяться ко всему на странице.

Или вы можете запустить тот же код (минус<script> теги) из Python в ячейке кода:

from IPython.core.display import Javascript, display
display(Javascript("""
    $('head').append(
        "<style type='text/css'>tr.odd{background-color: #def}</style>"
    );
"""))

Но выполнение этого повлияет только на ваши таблицы, которые соответствующим образом классифицированы, что зависит от кода, который пишет HTML (например, в Pandas).

Error: User Rate Limit Exceededthis quesionError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
2

lickgrid, но в python, то вас может заинтересовать qgrid. Это работает с ноутбуков ipython с использованием панд.

https://github.com/quantopian/qgrid

Другой вариант - использовать handsontable, например так:

http://nbviewer.ipython.org/gist/bollwyvl/6ad208084744c60dda65

Еще один, третий вариант с использованием только панд здесь:

Pandas Dataframes to_html: подсветка строк таблицы

Четвертый вариант - использовать шаблонизатор, такой как jinja2, например:

Pandas Dataframe отображать на веб-странице

http://nbviewer.ipython.org/github/pydata/pandas/blob/8c4f9571c08d5122f1d9e40c43dadab8b6f10bf5/pandas_HTML_styling.ipynb

Наконец, в pandas есть открытая проблема для рендеринга на основе шаблонов:

https://github.com/pydata/pandas/issues/3190

Постскриптум Гуру Python из Google предлагает это минимальное решение (избегайте любых сторонних зависимостей):

https://stackoverflow.com/a/1475453/2230844

или почитайте его книгу:

Python в двух словах, 2-е издание, Глава 23 Структурированный текст: HTML

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
7

чтобы предоставить простой механизм для создания таблиц данных с богатым форматированием в записных книжках IPython (цвета, границы, выравнивание, форматирование с плавающей точкой, затенение зебры и т. Д.). Проект находится наhttps://github.com/epmoyer/ipy_tableи вы можете получить хорошее представление о его возможностях отhttps://github.com/epmoyer/ipy_table/blob/master/ipy_table-Reference.pdf.

Error: User Rate Limit Exceeded

Похожие вопросы