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

Python Pandas 如何修改 Excel 表格字体颜色? 在数据分析和数据处理领域,Python 的 Pandas 库是一个非常强大的工具,它可以帮助我们高效地处理和分析数据。然而,有时候我们需要将处理后的数据导出到 Excel 文件中,并且希望对某些单元格的字体颜色进行修改,以突出显示重要信息。那么,如何使用 Python 和 Pandas 来实现这一需求呢?本文将详细介绍如何利用 Pandas 和其他相关库来修改 Excel 表格中的字体颜色。 阅读详情

💡 作者:韩信子@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的百度网盘获取,数据读取与处理代码如下:

🏆 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这里 获取本文 [6] Pandas 使用 Styler API 设置多条件数据选择&丰富的呈现样式 『conditional formatting in pandas 数据集』

⭐ ShowMeAI官方GitHub:https://github.com/ShowMeAI-Hub

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 高亮缺失值。

# 突出显示空值
df_pivoted.style.highlight_null()

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

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

# 背景为黑色,文本为白色,突出显示空值
df_pivoted.style.highlight_null(props='color:white;background-color:black')

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

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

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

# 背景为绿色,文本为白色,突出显示每一列最大值
df_pivoted.style.highlight_max(props='color:white;background-color:green')

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

# 背景为绿色,文本为白色,突出显示每一行最大值
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 之间的数填充黄色底色。

# 背景为黄色,文本为黑色,突出显示 100 到 200 之间的值
df_pivoted.style.highlight_between(left=100, right=200, props='color:black;background-color:yellow')

④ 绘制柱内条形图

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

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

# 绘制柱内内条形图
df_pivoted.style.bar()

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

# 绘制柱内内条形图
df_pivoted.style.bar(color='lightblue',height=70,width=70)

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

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

# 为列设置颜色渐变值
df_pivoted.style.background_gradient(cmap='RdYlGn',subset=['Product_C'])

⑥ 组合显示设置功能

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

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

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
highlight_dataframe(df_pivoted, subset=['Product_C'])

参考文献

pandas to_excel 添加颜色操作 主要介绍了pandas to_excel 添加颜色操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 立即下载

相关推荐

Mplus—交叉滞后面板模型(Cross-Lagged Panel Model, CLPM)

本文介绍交叉滞后模型相关知识,以及显变量模型与潜变量模型在Mplus中的语法。

m0_54401011的博客 1万+

python pandas怎么修改Excel表格字体颜色?

在pandas中,可以通过样式设置来修改Excel表格的字体颜色。

devid008的博客 5622

烽火HG680-LC刷机后体验:当贝纯净桌面+讯飞语音,老盒子秒变智能电视的折腾记录

本文详细记录了烽火HG680-LC机顶盒刷机后的使用体验,通过安装当贝纯净桌面和讯飞语音助手,老盒子焕发新生,实现无广告、快速响应的智能电视功能。文章对比了刷机前后的性能差异,分享了影音播放、语音控制等实用功能,并提供了ADB调试和问题解决的实用技巧,帮助用户将闲置的运营商盒子变身为高性能的智能影音中心。

weixin_30292843的博客 471

Pandas常用操作命令(七)——表格样式

表格样式

Python当打之年 2614

STM32之W5500网络通信_w5500 profinet

*初始化8个socket*/setSHAR(ConfigMsg.mac);/*配置Mac地址*/setSUBR(ConfigMsg.sub);/*配置子网掩码*/setSIPR(ConfigMsg.lip);/*配置Ip地址*/setGAR(ConfigMsg.gw);/*配置默认网关*/setRTR(2000);/*设置溢出时间值*/setRCR(3);/*设置最大重新发送次数*/

2501_90250923的博客 1461

从零搭建A股量化交易系统:开源框架选型与实战部署指南

本文详细介绍了从零搭建A股量化交易系统的完整流程,重点分析了开源框架VNPY和QMT的选型与实战部署。内容涵盖系统架构设计、策略开发、性能优化及实盘过渡方案,为开发者提供了一套完整的A股实盘量化交易解决方案,助力高效构建稳定可靠的量化交易系统。

sugar的博客 1271

用 pandas 为excel中的单元格着色

在这段代码中,我们首先创建了一个新的Workbook对象,然后添加了一个新的Worksheet。然后,我们为两个单元格设置了值,并创建了一个红色填充样式。最后,我们将这个填充样式应用到这两个单元格上,并保存了工作簿。在Python中,我们可以使用pandas库以及openpyxl(或者xlsxwriter)来为Excel中的单元格进行着色。注意:在使用openpyxl库时,我们需要导入PatternFill类来定义填充样式,然后使用fill属性来应用样式。# 创建一个新的工作簿。# 添加一个新的工作表。

1318

YOLOv8性能提升:基于SPD-Conv的高效空间深度转换卷积技术解析【YOLOv8】

SPD-Conv是一种结合了空间和深度信息的卷积技术。与传统卷积不同,SPD-Conv通过在卷积过程中动态调整空间维度和深度维度之间的关系,使得模型能够在较少的参数下捕捉到更多的空间细节。这种方法尤其适用于检测小目标和复杂场景中的细微特征。SPD-Conv的核心思想是通过引入一个空间深度转换矩阵,将输入特征图的空间信息有效地映射到更高维度的深度信息中。这种转换不仅可以保留输入图像的空间细节,还可以在卷积操作中增强特征的表达能力。空间深度转换:通过一个线性变换矩阵,将输入特征图的空间信息转换为深度信息。

博客 1809

openpyxl结合pandas进行单元格数据标红

困惑了半天,用过dataFrame.style.apply()和excel_writer = pd.ExcelWriter(“output.xlsx”, engine=“openpyxl”)去实现,各种报错。比如:AttributeError: ‘OpenpyxlWriter’ object has no attribute ‘save’比如:AttributeError: ‘Styler’ object has no attribute ‘style’最后试出来这个方法,这里做个记录。

qvbiwygah的博客 1377

C#面试题及详细答案120道(01-10)-- 基础语法与数据类型

C#与.NET部分重点解析了7个核心问题:1)C#与.NET的依存关系;2)值类型与引用类型的内存差异;3)装箱拆箱的性能损耗;4)string/String与int/Int32的实质等价性;5)const与readonly的初始化区别;6)可空类型的应用场景;7)ref与out关键字的参数传递机制。内容包含原理对比、代码示例和优化建议,适合开发者系统掌握C#核心概念。(1

大剑师兰特的GIS世界 1963

数据分析案例-2024年裁员数据集可视化分析

本实验数据集来源于Kaggle,原始数据集为2020-2024年裁员数据,共有3577条,12个变量,该数据集提供了不同公司的裁员信息。它包括以下几栏:Company:裁员发生的公司名称。Location_HQ:公司总部位置。Industry:公司所属的行业或部门。Laid_Off_Count:公司解雇的员工数量。Percentage:公司员工被解雇的百分比。Date:裁员发生的日期。Source:信息来源网址。Funds_Raised:公司募集资金的信息。

m0_64336780的博客 1万+

羡慕 Excel 的高级选择与文本框颜色呈现?不妨看看pandas是如何吊打Excel ⛵

用过 Excel 的数据分析师,对 Excel 的『』与『』功能大都印象深刻。下方动图演示了 Excel『数据选择&底色填充高亮』功能。如果我们需要『』,直接如下图所示,在『条件格式』中选择『突出显示单元格规则』即可进行设置。习惯用 Python 进行数据分析挖掘的我们,是否可以完成相同的高级显示呢?答案是,可以的!!在本文中将带大家在 Pandas Dataframe 中完成多条件数据选择及各种呈现样式的设置。

weixin_45356954的博客 106

实战|2026美团&大众点评餐饮数据抓取:Playwright/Selenium反爬全攻略

核心结论:2026年美团&大众点评的反爬核心是“多维度风控”,需组合使用“住宅IP+设备指纹伪装+真人行为模拟+动态验证处理”,Playwright是最优工具,Selenium仅作为补充。效率优化:单机爬取速度建议控制在“每小时500-800条”,避免高频请求触发风控;分布式爬取需确保每个节点使用独立住宅IP,且行为轨迹不一致。扩展方向集成WASM解密工具,破解2026年美团的Token加密;用AI识别动态点选验证,提升验证通过率;对接大数据平台,对抓取的餐饮数据进行可视化分析。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2462

【Excel开发日记(四)】pandas给excel数据加底色

【代码】【Excel开发日记(四)】

qq_39014095的博客 1083

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python对excel中需要的数据的单元格填充颜色

使用python对excel需要的数据单元格填充

vergil_zsh的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python pandas excel读取和写入,以及颜色设置

原因 这几天策划做多语言翻译,因为外包给回来的翻译文件和原来的文件顺序是错乱的,而现在新的配置文件又有增删。本着技术解放生产力的想法和没事找事做原则,强行给自己加了个需求。用python写一个工具,将两边的内容进行对比,生成一个新的文件,并用颜色标注差异部分。 环境 Python 3.9.7 pandas os re import pandas as pd import os import sys import re import time csv读取 fResult = re.findall("^.

qq_17370937的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python读取excel文件,把指定行表红

最近公司有个新的需求:上传一个excel文件,需要对文件进行检测,把错误的记录标红并且记录错误原因! 1.首先上传文件此时没有对文件内容进行检查。 2.保存,此时对文件内容进行检查,用pandas库读取excel文件,进行遍历把有问题的字段记录到数据库中。 3.下载excel,下载的文件中需要标红字段有问题的记录并且记录错误原因!(需要使用到xlrd、xlwt、xlutils库) 3.1:首先我们拿到上传的excel的二进制数据,然后使用xlrd库对二进制数据进行读取,(因为涉及到excel内容的修改所以需

qq_43792002的博客 2689

【第7章Pandas实战案例与解析 分组聚合】8.486 高级Pandas技巧:在指定列中根据值的大小设置数据颜色

使用自定义函数设置单列数据的颜色。# 设置销售额大于500的单元格背景为黄色styled_df通过本文的学习,我们掌握了如何在Pandas中根据指定列的值大小设置数据颜色。这对于增强数据的可读性和可视化效果非常有用。希望这些示例和技巧能够帮助你在实际工作中更好地应用Pandas进行数据分析。

1349

求助,pycharm已经安装pandas但仍然标红

2301_78630472的博客 729

利用Pandas改变Excel的填充背景颜色,包含奇偶行等设置

可以参考的网站 Working with Conditional Formatting https://xlsxwriter.readthedocs.io/working_with_conditional_formats.html The Format Class https://xlsxwriter.readthedocs.io/format.html#format Example: Conditional Formatting https://xlsxwriter.readthedocs.io/exa

haoxue2011的博客 5257

python excel 填充颜色_pandas to_excel 添加颜色操作

我就废话不多说了,大家还是直接看代码吧~import pandas as pdimport numpy as npcolumns = [['A', 'A', 'B', 'B', 'C'], ['a', 'b', 'c', 'd', 'e']]# 创建形状为(10,5) 的DataFrame 并设置二级标题demo_df = pd.DataFrame(np.arange(50).reshape(10...

weixin_29924309的博客 6088

读取Excel表格,并将特定字段标红

点进这位博主的博客中提到的链接,是一个微信公众号,里面只提示说需要把openpyxl版本升级到最高,但实际测试还是没用。这个库是可以使用的,但是最大的问题在于,如果需要标红的词连在一起,使用字符串的split函数的话,则会生成一个空字符,这个空字符不好处理。好的,至此成功达成死循环。阅读了源码,提示RichText()类型在读取+运算符时,前后的数据类型必须相同。这个看起来是没问题的,但是这个库在导入的时候显示没有这个库。经过一些调整,还是用xlsxwriter实现,将读写分开。

weixin_64857300的博客 4143

【无标题】pandas基于其他列的值对单元格进行着色

设置单元格颜色

luxingyu329的博客 1152

Pandas数据分析25——pandas数据框样式设置

pandas像excel表一样做条件样式,给数据标注和填充不同的颜色,方便观察和可视化

weixin_46277779的博客 6093

pandas导出excel颜色设置

1. 需求: (1)导出数据age列如果大于27,设置背景色并且字体红色 (2)导出数据love列如果包含关键字basketball,设置字体为红色 (3)导出数据comments列如果包含关键字American,设置背景色,字体为蓝色 2. 导出效果: 3. 代码: import re import pandas as pd def export_ms_excel(): data = [{'name': 'Jalen', 'age': ..

Jalen备忘录 1万+

pandas指定单元格背景颜色_pandas基础教程1

Pandas是基于Numpy构建的(不知道pandas和我们的国宝有什么关系),而Numpy和Pandas的数据类型是在基础数据类型上建立,彼此相关,又彼此不同。Numpy对象最重要特点向量化运算,pandas对象最重要特点是字典和列表混合。pandas,首先需要了解他主要两个数据结构:Series和DataFrame。series是线性的数据结构,是一个一维数组,Pandas 会默然用0到n-1...

weixin_39683692的博客 6519
上一篇: VISTA无人驾驶模拟器;FinRL量化金融深度强化学习库;『深度神经网络应用』电子书;CUDA/TensorRT案例集锦;前沿论文 | ShowMeAI资讯日报
下一篇: 100+开箱即用的AI工具箱;程序员150岁长寿指南;『地理空间数据科学』课程资料;Graphic数据可视化图表库;前沿论文 | ShowMeAI资讯日报
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值