更改数据帧中某些标题的颜色并导出为 excel

Change the color of some headers in a dataframe and export to excel

提问人:Brayan Muñoz 提问时间:11/9/2023 最后编辑:Mayukh BhattacharyaBrayan Muñoz 更新时间:11/9/2023 访问量:39

问:

我有两个标头列表和一个数据帧,如下所示:

import pandas as pd
list1 = ["A","B","C"]
list2 = ["E","F","G"]
df = pd.DataFrame(columns=list1 + list2)
# Change columns color logic
df.to_excel("test.xlsx")

我想更改 list1 中标头的颜色以获得如下所示的内容:

Expected Output

它可以是字体或背景颜色,但必须用熊猫来改变。

Python 熊猫 Excel

评论

1赞 Quang Hoang 11/9/2023
也许是这个问题的重复
0赞 J_H 11/9/2023
这回答了你的问题吗?Python Pandas:设置列标题样式
0赞 Brayan Muñoz 11/9/2023
不是真的,我尝试过使用该代码,但对我不起作用。不同之处在于,在该问题中,您想要一种颜色的整个列,并且只有两个特定的标题,而我只想要一种颜色的标题,并且我有一个列表。

答:

2赞 Timeless 11/9/2023 #1

一个可能的选择:

# df.insert(0, "Year", [2021, 2022, 2023]) to match your example!

(
    df.style.apply_index(
        lambda x: np.where(
    x.isin(list1), "background-color: #8db4e2", ""),axis=1)
    #.to_excel("...", index=False) # uncomment to make an Excel
)

enter image description here