Python实现Excel中数据条显示
Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来学习。
一、数据获取
首先,导入2021年12月全国城市住宅房价排行榜的数据,计算增长率等指标。
import pandas as pd data_city_price=pd.read_excel(r'C:/Users/尚天强/Desktop/大话数据分析系列原创/pandas/2021年12月全国城市住宅房价排行榜.xlsx')
data_city_price['增长率']=(data_city_price['12月']/data_city_price['7月']-1)#.apply(lambda x:format(x,'.2%'))
data_city_price['自增长率']=data_city_price['12月'].pct_change(fill_method='ffill')#.apply(lambda x:format(x,'.2%'))
df=data_city_price
df

查看图表数据属性,其中"7月"、"增长率"、"自增长率"这三列数据类型都是字符型,而且都有缺失值。
df.info()

二、格式设置
pandas运算后得到的数据类型是小数,如果需要将其转化为百分数%,可以使用format函数自定义数据类型。
#自定义数据类型
df.style.format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'})

数据字段显示较多可以使用hide_columns函数隐藏列。
#隐藏列
df.style.hide_columns(['自增长率'])

标记数据的最大值使用highlight_max函数。
#高亮显示最大值,默认是黄色
df.style.highlight_max()

同理,标记数据的最小值使用highlight_min函数。
#高亮显示最小值,高亮颜色可更改
df.style.highlight_min(color='gray')

突出显示空单元格使用highlight_null函数。
#高亮显示空值
df.style.highlight_null(null_color='blue')

同时pandas还支持链式调用,也就是说pandas设置格式可以使用点的形式依次设置数据格式,突出显示最大值、最小值、空值。
#链式调用
(df.style.format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'}).highlight_max().highlight_min(color='gray').highlight_null(null_color='blue').hide_columns(['自增长率']))

除了高亮显示空值,还可以将空的单元格替换为具体的文本,比如这里替换为空值。
#高亮显示空值,并标注
(df.style.highlight_null(null_color='red').format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'},na_rep='空值'))

图表设置格式后即可导出。
#导出图层
(df.style.highlight_null(null_color='red').format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'},na_rep='空值').to_excel(r'C:\Users\尚天强\Desktop\styled.xlsx', engine='openpyxl',index=False))
三、色阶
使用pandas设置色阶,类似Excel条件格式中的色阶使用,数值越大,颜色越深,数值越小,颜色越浅。
#色阶
import seaborn as sns
cmp=sns.light_palette('blue',as_cmap=True)
therm=df.iloc[:,0:3].style.background_gradient(cmap=cmp)
therm

四、数据条
使用pandas设置数据条,当数值大于0时,标记为绿色,当数值小于0时,标记为红色。
#数据条
(df.iloc[0:10,:].style.bar(['7月','12月','增长率','自增长率'],align='mid',color=['#d65f5f','#5fba7d']) .format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'}))

RGB颜色表
http://www.yini.org/liuyan/rgbcolor.htm
RGB颜色格式:#RRGGBB(两个R代表了红色光,两个G代表了绿色光,两个B代表了蓝色光,RGB均用16进制数字表示) ,如#0000ff代表了0份红色光,0份绿色光和255份蓝色光。

除了使用默认的数据条颜色,还可以使用上述的RGB颜色表,自定义数据条颜色。
#数据条
(df.iloc[0:10,:].style.bar(['7月','12月','增长率','自增长率'],align='mid',color=['#FF6666','#0099CC']) .format({'7月':'{:.0f}','增长率':'{:.2%}','自增长率':'{:.2%}'}))

五年互联网数据分析经验,擅长Excel、SQL、Python、PowerBI数据处理工具,数据可视化、商业数据分析技能,统计学、机器学习知识,持续创作数据分析内容,点赞关注,不迷路。
相关文章:
Python实现Excel中数据条显示
Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来…...
c#如何开发后端
1选择开发框架 在 C# 中,用于后端开发最常用的框架是ASP.NET。它提供了构建 Web 应用程序、Web API 和微服务等多种后端服务所需的功能。ASP.NET有不同的模式,如ASP.NET MVC(Model - View - Controller)和ASP.NET Web API。ASP.NE…...
6.Vue------async/await详细的讲解---知识积累
前提: 先说一下Promise解释 Promise是一种在JavaScript中处理异步操作的对象。它代表了一个尚未完成但承诺未来某个时间会完成的操作结果。Promise有三种状态:pending(等待中)、fulfilled(已成功)和reject…...
Redis面试专题-持久化
目录 前言 持久化相关知识 1.三种持久化机制 2.RDB持久化 3.深入剖析一下RDB持久化过程 4.AOF持久化 5.RDB和AOF对比编辑 面试题 1.redis持久化机制有哪些? 2.那仔细讲讲你对他们的理解 3.你刚刚说AOF的文件很大,那AOF文件会越来越大…...
如何将快捷指令添加到启动台
如何将快捷指令添加到启动台/Finder/访达(Mac) 1. 打开快捷指令创建快捷指令 示例创建了一个文件操作测试的快捷指令。 2. 右键选择添加到程序坞 鼠标放在待添加的快捷指令上。 3. 右键添加到访达 鼠标放在待添加的快捷指令上。 之后就可以在启…...
ansible自动化运维(二)ad-hoc模式
目录 Ansible模块(ad-hoc模式) 1.command模块:远程执行命令 2.shell 模块:远程执行命令,支持管道,重定向 3.Raw模块:先登录,再执行,最后退出 4.Script模块ÿ…...
技术栈6:Docker入门 Linux入门指令
目录 1.Linux系统目录结构 2.处理目录的常用命令 3.Docker概述 4.Docker历史 5.Docker基本组成 6.Docker底层原理 7.Docker修改镜像源 8.Docker基本命令 9.Docker创建Nginx实战 10.数据卷 11.本地目录直接挂载* 12.镜像和dockerfile 13.容器互联与自定义网络 14.…...
OPStack Optimism Layer2
概述 OP Stack 是标准化、共享和开源的开发堆栈,为 Optimism 提供支持,由 Optimism Collective 维护。 Optimism Bedrock 是 OP Stack的当前版本。 Bedrock 版本提供了用于启动生产质量的 Optimistic Rollup 区块链的工具。此时,OP Stack不同层的 API 仍然与Stack的 Rollu…...
Leetcode—1498. 满足条件的子序列数目【中等】
2024每日刷题(210) Leetcode—1498. 满足条件的子序列数目 C实现代码 class Solution { public:int numSubseq(vector<int>& nums, int target) {const int MOD 1e9 7;int n nums.size();vector<int> pows(n, 1);for(int i 1; i &…...
生活大爆炸版石头剪刀布(洛谷P1328)
生活大爆炸版石头剪刀布(洛谷P1328) [NOIP2014 提高组] 前言: 由于洛谷发布题解有限制,所以在CSDN上发布洛谷题解。 所有题解均是Java语言, 但是思路是相同的 每篇都是刷题日常,尽量讲清楚算法逻辑。 希望有问题还请大佬们指导! …...
OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术
OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术 OmniParser的核心功能是将用户界面截图转换为结构化元素,这一过程涉及几个关键步骤和技术要素,解决了视觉语言模型(VLMs)在与用户界面交互时所面临的多种挑战。 1.…...
Unity引擎UI滚动列表——滚动复用基础介绍
大家好,我是阿赵。 一、滚动复用的介绍 在制作游戏的过程中,经常会遇到一些需要显示数量比较大的数据的情况。比如说,一个排行榜,需要展示当前服务器前一千个玩家的排名。或者游戏的背包容量特别大,可以有几千个格子。…...
在 Windows 11 WSL (Ubuntu 24.04.1 LTS) | Python 3.12.x 下部署密码学库 charm
1. 在 Windows 11 上部署 Ubuntu (WSL) 由于作者没有高性能的 Ubuntu 服务器或个人电脑,且公司或学校提供的 Ubuntu 服务器虽然提供高性能 GPU 等硬件配置但通常不会提供 root 权限,因而作者通过在搭载了 Windows 11 的个人电脑上启动 Ubuntu (WSL) 来进…...
【六足机器人】01功能开发
包含:WIFI模块、GPS模块、语言模块、调试信息接口。 一、硬件连接 huart4( PA0、 PA1 )与GPS模块连接。 huart3(PB10、PB11)与ESP8266模块连接。 huart2( PA2、 PA3 )与语音模块连接。 hu…...
notepad++安装教程(超详细)
1.下载地址(可以私信博主) https://notepad-plus.en.softonic.com/download 2.解压安装...
创建简单的 PL/pgSQL 存储过程
文章目录 创建简单的 PL/pgSQL 存储过程CREATE OR REPLACE FUNCTIONadd_two_numbers(a integer, b integer)RETURNS integerAS$$ ... $$函数体LANGUAGE plpgsql 创建带有 IN 和 OUT 参数的存储过程创建修改数据的存储过程创建带有异常处理的复杂存储过程 在 PostgreSQL 中&…...
Java项目实战II基于微信小程序的无中介租房系统(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着城市化进程的加速,租房市场日益繁荣&a…...
Node.js实现WebSocket教程
Node.js实现WebSocket教程 1. WebSocket简介 WebSocket是一种在单个TCP连接上提供全双工通信的协议,允许服务器和客户端之间进行实时、双向通信。本教程将详细讲解如何在Node.js中实现WebSocket。 2. 技术选型 我们将使用ws库来实现WebSocket服务器,…...
Docker Compose实战一( 轻松部署 Nginx)
通过过前面的文章(Docker Compose基础语法)你已经掌握基本语法和常用指令认识到Docker Compose作为一款强大工具的重要性,它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用 Docker Compose 部署 Nginx࿰…...
hive分区分桶、数据倾斜总结
一、hive的基本概念 hive是一个构建在hadoop上的数据仓库工具,可以将结构化的数据文件映射为一张数据库表并提供数据查询功能 二、hive的特点 (1)数据是存储在hdfs上 (2)底层是将sql转换为MapReduce任务进行计算 …...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
