看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)给定公司销售数据表,要求使用pandas样式功能创建专业的数据可视化报表。源数据如下:
import pandas as pd
data = {
'月份': ['1月', '2月', '3月', '4月', '5月', '6月'],
'销售额': [1250000, 980000, 1560000, 1420000, 1680000, 1950000],
'成本': [850000, 720000, 1050000, 950000, 1150000, 1250000],
'利润率': [0.32, 0.265, 0.327, 0.331, 0.315, 0.359],
'同比增长': [0.08, -0.12, 0.25, 0.18, 0.22, 0.31]
}
df = pd.DataFrame(data)
df
输出结果:
月份 销售额 成本 利润率 同比增长
0 1月 1250000 850000 0.320000 0.08
1 2月 980000 720000 0.265000 -0.12
2 3月 1560000 1050000 0.327000 0.25
3 4月 1420000 950000 0.331000 0.18
4 5月 1680000 1150000 0.315000 0.22
5 6月 1950000 1250000 0.359000 0.31
具体要求:
代码如下:
(df.style
.format({
'销售额': '¥{:,.0f}',
'成本': '¥{:,.0f}',
'利润率': '{:.1%}',
'同比增长': '{:.2%}'
})
.map(lambda x: 'color: green' if isinstance(x, (int, float)) and x > 0 else
'color: red' if isinstance(x, (int, float)) and x < 0 else '',
subset=['同比增长'])
.background_gradient(subset=['销售额'], cmap='Blues')
.set_table_styles([{
'selector': 'th',
'props': [('background-color', '#2c3e50'),
('color', 'white'),
('font-weight', 'bold')]
}])
)
输出结果:(生成带有以下样式的表格)
参考代码采用链式调用方式,实现多层次数据可视化:
关键技巧:结合多种样式方法,通过颜色和格式的变化,使数据的内在规律和特征更加直观可见,提升数据分析的效率和质量。
(完)
更新时间:2025-09-21 09:29:34 标签:pandas python 样式 综合应用