首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >羡慕 Excel 的高级选择与文本框颜色呈现?Pandas 也可以拥有!! ⛵

羡慕 Excel 的高级选择与文本框颜色呈现?Pandas 也可以拥有!! ⛵

原创
作者头像
ShowMeAI
发布于 2022-08-09 11:16:55
发布于 2022-08-09 11:16:55
3.2K00
代码可运行
举报
文章被收录于专栏:ShowMeAI研究中心ShowMeAI研究中心
运行总次数:0
代码可运行

💡 作者:韩信子@ShowMeAI 📘 数据分析◉技能提升系列:https://www.showmeai.tech/tutorials/33 📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40 📘 本文地址:https://www.showmeai.tech/article-detail/293 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内容

用过 Excel 的数据分析师,对 Excel 的『条件选择』与『格式呈现』功能大都印象深刻。下方动图演示了 Excel『数据选择&底色填充高亮』功能。如果我们需要『选择大于100的所有产品取值并对单元格填充红色』,直接如下图所示,在『条件格式』中选择『突出显示单元格规则』即可进行设置。

习惯用 Python 进行数据分析挖掘的我们,是否可以完成相同的高级显示呢?答案是,可以的!!

在本文中 ShowMeAI 将带大家在 Pandas Dataframe 中完成多条件数据选择及各种呈现样式的设置。

💡 案例&背景

我们从一个电商销售的案例背景讲起,下图的数据透视表(pandas pivot table)显示了 2016 年至 2022 年不同产品的总销售额。数据可以在ShowMeAI的百度网盘获取,数据读取与处理代码如下:

🏆 实战数据集下载(百度网盘):点击 这获取本文 [6] Pandas 使用 Styler API 设置多条件数据选择&丰富的呈现样式 『conditional formatting in pandas 数据集』

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
data = pd.read_excel('data.xlsx')
df_pivoted = pd.pivot_table(data, index='Year')

💰 你能找出 2016 年最畅销的产品吗?

  • 你可能很快能找到答案 Product_B,总销售额为 169,但我们仅通过透视表去定位结果非常不方便。
  • Pandas 可以很便捷地用条件语句去找到结果,但在原表对应还是不容易。

💰 如果我们为每年最畅销的产品上色呢,如下图所示用底色突出显示之后,回答上面的问题是不是容易多了?

接下来演示在 Pandas 中完成这个操作的详细步骤!

💡 内容覆盖

本篇后续内容覆盖以下高级功能:

  • 突出缺失值
  • 突出显示每行/列中的最大值(或最小值)
  • 突出显示范围内的值
  • 绘制柱内条形图
  • 使用颜色渐变突出显示值
  • 组合显示设置功能

注意:强烈建议大家使用最新版本的 Pandas。你可以通过命令行命令pip install --upgrade pandas获取或升级 Pandas 为最新稳定版本。

① 突出缺失值

在 Pandas Dataframe 中,我们可以使用 dataframe.style.highlight_null() 为空值着色。下图中我们为数据透视表 df_pivoted 高亮缺失值。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 突出显示空值
df_pivoted.style.highlight_null()

大家发现了,使用 .highlight_null 默认是以红色突出显示 nan 缺失值。不喜欢红色?没关系,颜色可以调!

我们可以使用自定义参数对对缺失值的文本和背景进行设定,比如 props='color:white;background-color:black' 可以设定背景色为黑色文本为白色,如下图所示:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 背景为黑色,文本为白色,突出显示空值
df_pivoted.style.highlight_null(props='color:white;background-color:black')

通过高亮,我们可以很快在表中发现2018年 Product_H 没有卖掉的信息。

② 突出显示最大值(或最小值)

要突出显示每列中的最大值,我们可以使用 dataframe.style.highlight_max()最大值着色,最终结果如下图所示。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 背景为绿色,文本为白色,突出显示每一列最大值
df_pivoted.style.highlight_max(props='color:white;background-color:green')

那如果我们想显示的是每一行的最大值呢?我们可以通过设定参数 axis=1 来实现,如下图所示。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 背景为绿色,文本为白色,突出显示每一行最大值
df_pivoted.style.highlight_max(props='color:white;background-color:green', axis=1)

注意:同样可以使用方法 dataframe.style.highlight_min() 使用适当的参数为行/列中的最小值着色。

③ 突出显示范围内的值

假设我们要突出显示 100 到 200 之间的值,这个怎么实现呢?我们可以通过 dataframe.style.highlight_between(left, right) 来实现这个功能。如下图是对 100 到 200 之间的数填充黄色底色。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 背景为黄色,文本为黑色,突出显示 100 到 200 之间的值
df_pivoted.style.highlight_between(left=100, right=200, props='color:black;background-color:yellow')

④ 绘制柱内条形图

可视化图表直观又炫酷!我们可不可以把这种呈现引入到 Pandas 中呢?当然可以!!

以条形图为例。通过 dataframe.style.bar() 可以创建条形图,更直观地显示数值的大小,如下图所示,红色的柱子长度对应单元格内的数值大小。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 绘制柱内内条形图
df_pivoted.style.bar()

当然也可以自定义条形图的颜色和大小!如下图所示,设定了颜色和宽高等参数。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 绘制柱内内条形图
df_pivoted.style.bar(color='lightblue',height=70,width=70)

⑤ 使用颜色渐变突出显示值

我们还可以用颜色渐变来突出显示整个列,具体实现通过 dataframe.style.background_gradient() 完成。如下图所示,在图像中,随着值的增加,颜色会从红色变为绿色。你可以设置 subset=None 将这个显示效果应用于整个Dataframe。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 为列设置颜色渐变值
df_pivoted.style.background_gradient(cmap='RdYlGn',subset=['Product_C'])

⑥ 组合显示设置功能

是否可以在数据中同时突出显示最小值、最大值和缺失值呢?可以!!

可以定义一个函数,该函数突出显示列中的 min、max 和 nan 值。当前是对 Product_C 这一列进行了突出显示,我们可以设置 subset=None来把它应用于整个Dataframe。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
def highlight_dataframe(df, subset= None):

    df = df.style.highlight_max(props='color:white;background-color:green', subset=subset) \
    .highlight_min(props='color:white;background-color:red', subset=subset) \
    .highlight_null(props='color:white;background-color:black', subset=subset)
    
    return df
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
highlight_dataframe(df_pivoted, subset=['Product_C'])

参考文献

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一行 pandas 代码搞定 Excel 条件格式!
Excel的 “条件格式” 是非常棒的功能,通过添加颜色条件可以让表格数据更加清晰的凸显出统计特性。
Python数据科学
2023/08/29
4660
一行 pandas 代码搞定 Excel 条件格式!
pandas100个骚操作:一行 pandas 代码搞定 Excel “条件格式”!
本篇是pandas100个骚操作系列的第 7 篇:一行 pandas 代码搞定 Excel “条件格式”!
Python数据科学
2021/01/29
2.9K0
pandas100个骚操作:一行 pandas 代码搞定 Excel “条件格式”!
利用Pandas库实现Excel条件格式自动化
在Excel菜单栏里,默认(选择)开始菜单,在中间部位有个条件格式控件,里面就是关于表格条件格式的方方面面。主要包含突出显示单元格规则、最前/最后规则、数据条、色阶、图标集以及规则管理等。
张俊红
2021/08/20
6.7K0
利用Pandas库实现Excel条件格式自动化
Pandas表格样式设置,超好看!
通过这一方法,增强数据的呈现,使信息的探索和理解不仅内容丰富,而且具有视觉吸引力。
小F
2024/01/05
8970
Pandas表格样式设置,超好看!
Pandas 表格样式设置指南,看这一篇就够了!
这离不开pandas、numpy、sklearn、TensorFlow、PyTorch等数据科学包,尤其是 Pandas,几乎是每一个从事Python数据科学相关的同学都绕不过去的。
小小詹同学
2021/07/27
12.5K1
Pandas 表格样式设置指南,看这一篇就够了!
【Python】五种Pandas图表美化样式汇总
Pandas是一种高效的数据处理库,它以dataframe和series为基本数据类型,呈现出类似excel的二维数据。
黄博的机器学习圈子
2021/07/07
3K0
【Python】五种Pandas图表美化样式汇总
Pandas也能修改样式?快速给你的数据换个Style!
在之前的很多文章中我们都说过,Pandas与openpyxl有一个很大的区别就是openpyxl可以进行丰富的样式调整,但其实在Pandas中每一个DataFrame都有一个Style属性,我们可以通过修改该属性来给数据添加一些基本的样式。
刘早起
2020/07/02
2.1K0
Pandas也能修改样式?快速给你的数据换个Style!
Pandas 2.2 中文官方教程和指南(十九·一)
本节演示使用 Styler 类可视化表格数据。有关使用图表进行可视化的信息,请参阅图表可视化。本文档是以 Jupyter Notebook 编写的,可在此处查看或下载这里。
ApacheCN_飞龙
2024/04/25
3940
Pandas 2.2 中文官方教程和指南(十九·一)
Pandas 2.2 中文官方教程和指南(十九·二)
我们使用以下方法传递您的样式函数。这两种方法都接受一个函数(以及一些其他关键字参数),并以某种方式将其应用于 DataFrame,呈现 CSS 样式。
ApacheCN_飞龙
2024/04/25
4460
Pandas 2.2 中文官方教程和指南(十九·二)
高手系列!数据科学家私藏pandas高阶用法大全 ⛵
如果你是数据科学家、数据分析师、机器学习工程师,或者任何 python 数据从业者,你一定会高频使用 pandas 这个工具库——它操作简单功能强大,可以很方便完成数据处理、数据分析、数据变换等过程,优雅且便捷。
ShowMeAI
2022/12/04
6.4K0
高手系列!数据科学家私藏pandas高阶用法大全 ⛵
数据专家最常使用的 10 大类 Pandas 函数 ⛵
Python具有极其活跃的社区和覆盖全领域的第三方库工具库,近年来一直位居编程语言热度头部位置,而数据科学领域最受欢迎的python工具库之一是 Pandas。随着这么多年来的社区高速发展和海量的开源贡献者,使得 pandas 几乎可以胜任任何数据处理工作。
ShowMeAI
2022/08/09
4K0
数据专家最常使用的 10 大类 Pandas 函数 ⛵
大数据开发!Pandas转spark无痛指南!⛵
Pandas 是每位数据科学家和 Python 数据分析师都熟悉的工具库,它灵活且强大具备丰富的功能,但在处理大型数据集时,它是非常受限的。
ShowMeAI
2022/11/24
9K0
大数据开发!Pandas转spark无痛指南!⛵
【数据分析】数据缺失影响模型效果?是时候需要missingno工具包来帮你了!
数据探索和预处理是任何数据科学或机器学习工作流中的重要步骤。在使用教程或训练数据集时,可能会出现这样的情况:这些数据集的设计方式使其易于使用,并使所涉及的算法能够成功运行。然而,在现实世界中,数据是混乱的!它可能有错误的值、不正确的标签,并且可能会丢失部分内容。
黄博的机器学习圈子
2021/07/07
5.4K0
【数据分析】数据缺失影响模型效果?是时候需要missingno工具包来帮你了!
还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
饼图是用于显示分类数据比例的典型图表,我们用圆形图形代表整个样本集,把它分为多个切片并显示对应数据与总数相比的比例贡献。饼图在数据可视化中经常使用,因为它直观且结果容易理解。
ShowMeAI
2022/11/26
4.7K0
还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
厉害了,Pandas表格还能五彩斑斓的展示数据,究竟是怎么做到的呢?
在使用Pandas分析数据时,我们可能经常需要来高亮显示某些数据,以便一眼看出这些数据的不同之处,今天小编就来分享一下如何在“Pandas”的表格当中高亮某些数据,通过这篇文章,读者们可以知道怎么去
用户6888863
2021/07/19
8500
一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵
实际工作中,我们往往依托于业务数据分析制定业务策略。这个过程需要频繁地进行数据分析和挖掘,发现模式规律。对于算法工程师而言,一个有效的 AI 算法系统落地,不仅仅是模型这么简单——数据才是最底层的驱动。
ShowMeAI
2022/07/12
2K0
一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵
再见 Excel,你好 Python Spreadsheets! ⛵
Excel是大家最常用的数据分析工具之一,借助它可以便捷地完成数据清理、统计计算、数据分析(数据透视图)和图表呈现等。
ShowMeAI
2022/08/09
3.3K0
再见 Excel,你好 Python Spreadsheets! ⛵
系统性的学会 Pandas, 看这一篇就够了!
Numpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?
小F
2021/08/20
4.3K0
系统性的学会 Pandas, 看这一篇就够了!
30 个小例子帮你快速掌握Pandas
链接:https://towardsdatascience.com/30-examples-to-master-pandas-f8a2da751fa4
Ai学习的老章
2020/12/08
12.1K0
30 个小例子帮你快速掌握Pandas
Python数据分析 | 基于Pandas的数据可视化
教程地址:http://www.showmeai.tech/tutorials/33
ShowMeAI
2022/02/25
1K0
Python数据分析 | 基于Pandas的数据可视化
推荐阅读
相关推荐
一行 pandas 代码搞定 Excel 条件格式!
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入腾讯云技术交流站
洞悉AI新动向 Get大咖技术交流群
加入云原生工作实战群
云原生落地实践 技术难题攻坚探讨
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验