python DataFrame表头怎么设置背景颜色和字体颜色?

2021-09-10 13:57发布

怎么样可以设置DataFrame表头的背景颜色和字体颜色,然后导出来这些格式也是保留的

怎么样可以设置DataFrame表头的背景颜色和字体颜色,然后导出来这些格式也是保留的

6条回答
欧文诺啊
2楼 · 2021-09-10 14:58

df.style.set_properties:通过df.style.set_properties功能,我们可以使用内置功能来处理从字体颜色到背景颜色的数据框样式。

JJN
3楼 · 2021-09-10 17:27

我们使用DataFrame.style属性,该属性返回样式器对象,该对象具有许多用于格式化和可视化数据框的有用方法。

椰松面包
4楼 · 2021-09-10 18:28

我觉得改变背景色的话需要考虑border, 而border是有几种颜色渐变组成的
所以要自己画颜色需要好好研究一下

果果宝贝
5楼 · 2021-09-11 13:36

我们希望分别突出显示正数和自然数。如果你对CSS有一些基本的了解,或者只是简单的Google一下,你就会知道下面的属性来设置HTML表格单元格的背景颜色和文本颜色。

background-color: red; color: white

让我们编写一个函数来给表格单元格着色。

def highlight_number(row):
    return [
        'background-color: red; color: white' if cell <= 0 
        else 'background-color: green; color: white'
        for cell in row    ]

如果单元格的值为负数,我们使用红色作为背景,否则如果是正值,则使用绿色。由于颜色可能有点暗,我们还想将文本颜色改为白色。

然后,我们可以将函数应用于 DataFrame。

df.style.apply(highlight_number)

超级酷!现在很明显,我们得到了负数和正数,它们很好地区分开来。

链接样式函数

到目前为止,我们每次只添加一种样式。事实上,我们调用df.style,返回 DataFrame的Styler对象。Styler对象支持链接样式函数。让我们看看另一个更复杂的例子。

比方说,我们想在原始数据框中添加以下样式。

  1. 用红色突出显示负数,用绿色突出显示正数。

  2. 格式化数字。

  3. 使用set_caption()向表添加标题。

  4. 使表格间隙变大,这样看起来就不会那么挤了。

  5. 在单元格之间添加白色边框以改善显示效果。

是的,我们可以通过使用链表达式一次性完成所有这些操作。

df.style \  .apply(highlight_number) \  .format('${0:,.2f}') \  .set_caption('A Sample Table') \  .set_properties(padding="20px", border='2px solid white')

感觉该表可以直接用于某些业务报表

内置突出显示功能

不懂CSS,但还是想炫耀一下?是的,Pandas风格还提供了一些内置的函数,这些函数很酷,但很容易使用。

突出显示函数

让我们使用相同的 DataFrame进行演示。

# 为演示目的生成一个nan值df.at[1, 1] = None# 添加样式df.style \  .highlight_null('lightgray') \  .highlight_max(color='lightgreen') \  .highlight_min(color='pink')

看,用你喜欢的颜色来突出显示空值、最小值和最大值是很容易的。我建议使用浅色,因为文本颜色总是黑色的。


df.style.set_properties:通过使用此功能,我们可以使用内置功能来处理从字体颜色到背景颜色的数据框样式。

希希
7楼 · 2021-09-14 09:37

frame构造函数里面有参数设置背景色
Frame(height = 20,width = 400,bg = 'red').pack()