看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)在数据分析中,我们常常需要对表格进行样式设置以便更好地展示数据。现在有一个简单的销售数据表格,包含产品名称、销售数量和销售额。请使用 Pandas Style 综合运用多种样式方法对表格进行美化,包括设置字体颜色、背景颜色、高亮显示最大值等。
import pandas as pd
# 源数据
data = {
'产品名称': ['产品A', '产品B', '产品C', '产品D'],
'销售数量': [100, 200, 150, 300],
'销售额': [1000, 2000, 1500, 3000]
}
df = pd.DataFrame(data)
# 输出源数据
print(df)
输出结果:
产品名称 销售数量 销售额
0 产品A 100 1000
1 产品B 200 2000
2 产品C 150 1500
3 产品D 300 3000
具体要求:
正确答案的数据示例(样式部分,文字内容以实际代码运行结果为准):
产品名称 销售数量 销售额
产品A 100 1000
产品B 200 2000
产品C 150 1500
产品D 300 3000
代码如下:
import pandas as pd
# 源数据
data = {
'产品名称': ['产品A', '产品B', '产品C', '产品D'],
'销售数量': [100, 200, 150, 300],
'销售额': [1000, 2000, 1500, 3000]
}
df = pd.DataFrame(data)
# 使用 Pandas Style 设置样式
styled_df = (
df.style
.map(lambda x: 'color: red', subset=['销售数量'])
.map(lambda x: 'background-color: lightblue', subset=['销售额'])
.apply(lambda x: ['background-color: yellow' if v == x.max() else '' for v in x],
subset=['销售数量'])
)
# 显示样式化的表格
styled_df
代码的输出结果(样式部分,文字内容以实际代码运行结果为准):
产品名称 销售数量 销售额
产品A 100 1000
产品B 200 2000
产品C 150 1500
产品D 300 3000
参考代码的思路逻辑如下:
map
方法将“销售数量”列的字体颜色设置为红色。map
方法将“销售额”列的背景颜色设置为浅蓝色。apply
方法结合列表推导式,找到“销售数量”列的最大值,并将其背景颜色设置为黄色。(完)
更新时间:2025-09-19 15:04:10 标签:pandas python 样式 表格样式