IPython Notebook中的"Zebra Tables"?

JD *_*ong 10 python ipython pandas ipython-notebook jupyter

我正在使用梦幻般的Notebook进行交互式分析和Pandas在IPython中构建一些交互式工作流程.

我正在显示的一些表格通过一些格式化更容易阅读.我真的很喜欢像"斑马桌"这样的东西,其中每一行都有阴影.我在这里读到了如何通过css实现这种格式化.是否有一种非常直接的方法将css应用于IPython Notebook,然后使用样式表呈现表格?

min*_*nrk 13

您可以在<script>标记内的markdown单元格中运行任意javascript(使用jQuery),也可以通过IPython IPython.core.display.Javascript类运行.通过这些,您可以根据内容操作(或破坏)文档,包括添加样式表.

例如,以下内容将对适当的分类表进行条带化:

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

如果您只是将其粘贴在其中一个降价单元格中,那么它将适用于页面上的所有内容.

或者,您可以<script>在代码单元格中从Python 运行相同的代码(减号):

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

但这样做只会影响适当分类的表,这取决于编写HTML的代码(例如在Pandas中).

  • 在熊猫中开始做一些这样的事情会很好(假设API有些稳定) (2认同)

小智 7

我刚刚发布了一个名为ipy_table的项目,它提供了一种在IPython笔记本中创建格式丰富的数据表的简单机制(颜色,边框,对齐,浮动格式,斑马着色等).该项目位于https://github.com/epmoyer/ipy_table,您可以从https://github.com/epmoyer/ipy_table/blob/master/ipy_table-Reference.pdf了解它的功能.