Python Jupyter笔记本风格的带边框的数据帧

Python Jupyter笔记本风格的带边框的数据帧,python,css,pandas,jupyter-notebook,jupyter,Python,Css,Pandas,Jupyter Notebook,Jupyter,我使用下面的代码在jupyter中格式化带边框的数据帧 %%HTML <style type="text/css"> table.dataframe td, table.dataframe th { border: 1px black solid !important; color: black !important; } </style> import pandas as pd import numpy as np df = pd.

我使用下面的代码在jupyter中格式化带边框的数据帧

%%HTML
<style type="text/css">
table.dataframe td, table.dataframe th {
    border: 1px  black solid !important;
  color: black !important;
}
</style>

import pandas as pd
import numpy as np

df = pd.DataFrame( data={'A': range(5), 'B':  np.arange(0, 1 , 0.2)})

那么,我如何更改代码,使格式化的df与边框一起出现呢

解释问题 当您使用
%%HTML
设置样式时,您只针对那些与
CSS
选择器匹配的
HTML
元素

样式
设置为数据帧,然后将其显示在单元格中时,生成的
HTML表
不再具有名为
数据帧的
HTML类
(而是一个随机ID)。这就是您的
%%HTML
未应用于样式化数据帧的输出的原因

那怎么办呢

可能的解决办法 通过以下方式设置表格本身的样式:

df.style.set_properties(
    **{'color': 'black !important',
       'border': '1px black solid !important'}
).set_table_styles([{
    'selector': 'th',
    'props': [('border', '1px black solid !important')]
}]).format({
    'A': '{:,.2f}'.format,
    'B': '{:,.2%}'.format,
})
在这些代码行中,您为数据帧提供了
HTML
样式,同时为其列设置了格式样式

重要:对于
style.set\u属性
style.format
这两个调用必须链接。否则,将只使用最后一个

解决办法:一步一步 1.-因此,根据您最初的命令:

2.-如果仅在列上应用样式:

3.-如果设置单元格的属性:

4.-如果还设置了表属性,例如,在
th
标题元素上:


进一步
如果您想在其他数据帧中共享这些样式,请查看。

如何在不同的数据帧表中应用不同的格式?我想格式化一个带有边框的特定输出,这怎么可能呢?
df.style.set_properties(
    **{'color': 'black !important',
       'border': '1px black solid !important'}
).set_table_styles([{
    'selector': 'th',
    'props': [('border', '1px black solid !important')]
}]).format({
    'A': '{:,.2f}'.format,
    'B': '{:,.2%}'.format,
})