Pandas是一款很强大的Python库,具有很多方便的功能,今天小编就给大家分享用Pandas修改样式。
以下内容转载于早起Python微信公众号。
作者:刘早起
文章来源:早起Python
前言
在之前的很多文章中我们都说过,Pandas与openpyxl有一个很大的区别就是openpyxl可以进行丰富的样式调整,但其实在Pandas中每一个DataFrame都有一个Style属性,我们可以通过修改该属性来给数据添加一些基本的样式。
使用说明
我们可以编写样式函数,并使用CSS来控制不同的样式效果,通过修改Styler对象的属性,将样式传递给DataFrame,主要有两种传递方式
Styler.applymap:逐元素
Styler.apply:列/行/表方式
Styler.applymap通过DataFrame逐个元素地工作。Styler.apply根据axis参数,按列使用axis=0.按行使用axis=1.以及axis=None作用于整个表。所以若使用Styler.applymap,我们的函数应返回带有CSS属性-值对的单个字符串。若使用Styler.apply,我们的函数应返回具有相同形状的Series或DataFrame,其中每个值都是具有CSS属性值对的字符串。
不会CSS?没关系,作为调包侠的我们大多是改改HTML颜色代码即可完成样式修改,下面看一些示例。
一些例子
基本样式
首先我们创建一组没有任何样式的数据
我们之前说过,DataFrame是有style属性的,所以在没有做任何修改的情况下,使用df.style应该和上图一样
现在让我们编写一个简单的样式函数,该函数可以将负数变为红色,使正数保持黑色。
def color_negative_red(val):
color = 'red' if val < 0 else 'black'
return 'color: %s' % color
现在来应用这段函数(思考Excel如何实现)
现在如果我们想突出显示每列中的最大值,需要重新定义一个函数
def highlight_max(s):
is_max = s == s.max()
return ['background-color: yellow' if v else '' for v in is_max]
因为之前我们是以元素为单位判断,所以使用的是.applymap,所以现在我们应对列进行.apply操作
现在可以使用
df.style.applymap(color_negative_red).apply(highlight_max)
来混合修改样式或使用.\实现
当然我们也可以通过修改样式函数并使用.apply来高亮整个DataFrame的最大值,
切片
当然我们也可以使用subset通过切片来完成对指定列进行样式修改,比如高亮部分列的最大值
df.style.apply(highlight_max, subset=['B', 'C', 'D'])
对于行和列切片,可以使用我们熟悉的.loc,不过目前仅支持基于标签的切片,不支持位置切片。
格式化输出
我们也可以使用Styler.format来快速格式化输出,比如将小数格式化为百分数
也支持使用字典或lambda表达式来更灵活的使用
当然是支持和之前的样式结合使用
内置样式
开发者们为了尽可能的让作为调包侠的我们使用起来更方便,已经内置了很多写好的样式,拿走就用,比如将空值设置为红色
或是结合seaborn使用热力图
现在我们就可以通过修改Styler.background_gradient来轻松的修改颜色等样式
最后我们可以将数据修改为条形图的样式,这也是我最喜欢的一个功能,能够快速的看出数据的变化!
在最新的版本中可以进一步自定义条形图:我们现在可以将df.style.bar以零或中点值为中心来快速观察数据变化,并可以传递颜色[color_negative, color_positive],比如使用align='mid':
以上就是对Pandas中如何修改样式的一个简单介绍,更多的操作可以在官方文档https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html中找到与学习。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析在当今信息时代发挥着重要作用。单因素方差分析(One-Way ANOVA)是一种关键的统计方法,用于比较三个或更多独立样本组 ...
2025-04-25CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-25在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-24以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《刘静:10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda ...
2025-04-23大咖简介: 刘凯,CDA大咖汇特邀讲师,DAMA中国分会理事,香港金管局特聘数据管理专家,拥有丰富的行业经验。本文将从数据要素 ...
2025-04-22CDA持证人简介 刘伟,美国 NAU 大学计算机信息技术硕士, CDA数据分析师三级持证人,现任职于江苏宝应农商银行数据治理岗。 学 ...
2025-04-21持证人简介:贺渲雯 ,CDA 数据分析师一级持证人,互联网行业数据分析师 今天我将为大家带来一个关于用户私域用户质量数据分析 ...
2025-04-18一、CDA持证人介绍 在数字化浪潮席卷商业领域的当下,数据分析已成为企业发展的关键驱动力。为助力大家深入了解数据分析在电商行 ...
2025-04-17CDA持证人简介:居瑜 ,CDA一级持证人,国企财务经理,13年财务管理运营经验,在数据分析实践方面积累了丰富的行业经验。 一、 ...
2025-04-16持证人简介: CDA持证人刘凌峰,CDA L1持证人,微软认证讲师(MCT)金山办公最有价值专家(KVP),工信部高级项目管理师,拥有 ...
2025-04-15持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。在实际生活中,我们可能会 ...
2025-04-14在 Python 编程学习与实践中,Anaconda 是一款极为重要的工具。它作为一个开源的 Python 发行版本,集成了众多常用的科学计算库 ...
2025-04-14随着大数据时代的深入发展,数据运营成为企业不可或缺的岗位之一。这个职位的核心是通过收集、整理和分析数据,帮助企业做出科 ...
2025-04-11持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。 本次分享我将以教培行业为 ...
2025-04-11近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03