首页 > 解决方案 > 更改 Jupyter Notebooks 中数据框索引的背景颜色

问题描述

在使用Jupyter notebooks时,我喜欢更改Pandas 数据帧中标题单元格的颜色(所有索引单元格,向上和向左),以便在索引和数据本身之间形成更多对比(尤其是当我在使用like后处理多个索引时)下图):.groupby()

彩色索引的图像示例

我曾经使用这个 CSS 代码来实现这一点(它通过简单地运行单元来工作。这很有用,因为我经常使用托管在云上的 jupyter 笔记本):

%%HTML
<style> 
.dataframe th {
background: #3f577c ;
font-family: monospace ;
color: white ;
border: 3px solid white ;
text-align: left !important ; } 
</style>

这是因为每个索引单元格(在所有索引中,向上和向左)过去都由<th> </th>HTML 标记表示。

但是,在0.25.1从 version更新到 Pandas 版本后0.21.x,CSS 停止工作,因为它们更改了 HTML,因此只有上部索引单元格(列名)被包裹在<th> <th>标签中。左侧索引仅使用<td> </td>标签,就像数据单元格一样(见下图。请注意,Genre 和 MediaTypeId 都是索引):

显示 Pandas 更新前后 HTML 变化的图片

有没有办法用 CSS 定位左侧索引?我尝试使用first-child如下所示,但它仅适用于只有 2 个索引(上和左)的数据框。对于左侧有多个索引的数据帧,只有第一个索引受到影响:

%%HTML
<style>
.dataframe th, td:first-child {
background: #3f577c ;
font-family: monospace ;
color: white ;
border: 3px solid white ;
text-align: left !important ; }                                             
</style>

如果有其他方法可以实现第一张图片中的效果,我会全力以赴。谢谢!

编辑:我将此作为问题发布在 Pandas Github 中,他们告诉我这是一个可能会修复的错误:https ://github.com/pandas-dev/pandas/issues/28204 。问题从 0.25.1 版本开始,所以在 0.25.0 版本之前,CSS 应该可以正常工作。

标签: htmlcsspandasjupyter-notebookjupyter

解决方案


推荐阅读