以下是一个示例代码,演示如何按值高亮显示单元格或行:
import pandas as pd
import numpy as np
# 创建一个示例数据框
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
'Age': [25, 30, 28, 32],
'Score': [90, 85, 92, 88]}
df = pd.DataFrame(data)
# 创建一个函数,根据某一列的值返回相应的颜色
def highlight_col(value):
if value > 90:
return 'background-color: yellow'
elif value < 80:
return 'background-color: red'
else:
return ''
# 使用style.applymap函数应用函数到数据框中的每一个单元格
styled_df = df.style.applymap(highlight_col, subset=['Score'])
# 使用style.apply函数应用函数到每一行
styled_df = styled_df.apply(lambda row: ['background-color: green' if row['Age'] < 30 else '' for _ in row], axis=1, subset=['Age'])
# 将格式化后的数据框输出为HTML文件
styled_df.to_excel('styled_data.xlsx', engine='openpyxl', index=False)
在这个示例中,我们创建了一个包含姓名、年龄和分数的数据框。然后,我们定义了一个函数highlight_col
,根据分数的值返回相应的颜色。接下来,我们使用style.applymap
函数将这个函数应用到数据框中的每一个单元格,以高亮显示分数列。
然后,我们使用style.apply
函数将一个lambda函数应用到每一行,根据年龄的值返回相应的颜色。在这个示例中,如果年龄小于30,则将行的背景颜色设置为绿色。
最后,将格式化后的数据框输出为Excel文件。
请注意,这只是一个示例,用于演示如何按值高亮显示单元格或行。您可以根据自己的需求调整函数和样式。
上一篇:按值改变分区中的排序顺序。
下一篇:按值过滤返回的LDAP属性