再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

Irene181
• 阅读 1565

本文概述

Pandas 是数据科学家做数据处理时,使用最多的工具。

对比Excel,我们可以发现: Pandas基本可以实现所有的Excel的功能,并且比Excel更方便、简洁,其实很多操作我们在过去的文章中,或多或少都讲述过。

但是在数据框上,完成各种 “条件格式” 的设置,帮助我们更加凸显数据,使得数据的展示更加美观,今天还是头一次讲述。

再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

上图左表展示的是某班级期末考试的成绩数据,我们要利用左表完成如右表的效果展示,需要完成的目标如下:

  • (1)将 “均值” 这一列的数值,保留1位小数;

  • (2)给这份数据,添加一个标题辅助说明 “高三(5)班期末考试成绩” ,方便我们区分数据;

  • (3)隐藏 索引列 (注意最左边!);

  • (4)隐藏 指定列 ,有些列我们不作处理,可以不做展示;

  • (5)将 “语文” 这一列的数值,依数值大小画条状图;

  • (6)将 “均值” 这一列数据最大的值,高亮(highlight)展示;

  • (7)将 “数学” 这一列的数值,依数值画一个绿色的colormap;

  • (8)将整个DataFrame 的 空值 显示为红色,着重突出;

一行代码即可上述所有操作

用过Pyecharts的朋友可能都知道“链式规则”,在这里我们同样可以采用这种方法,用一行代码就可以实现上述所有的功能。

1. 读取数据

import pandas as pd  

df = pd.read_excel("特殊.xlsx")  
df.index = list(range(df.shape[0]))  
df  

结果如下:

再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

2. 一行代码

df.style.format('{:.1f}',subset='均值').set_caption('高三(5)班期末考试成绩').\
hide_index().hide_columns(['索引']).bar('语文',vmin=0).highlight_max('均值').\
background_gradient('Greens',subset='数学').highlight_null()

结果如下:

再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

使用说明

这个是Pandas0.17.1中的新功能。官方文档中说到:这是一项新功能,正在积极开发中。我们将添加功能,并可能在将来的版本中进行重大更改。

这个方法出现在pandas.formats.style.Styler类中,今天在这里就不详细介绍该方法的原理,大家知道怎么使用就行,后将在后面的文章中为大家慢慢介绍。

再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

上面我们直接一行代码实现所有的功能,如果我们只想实现某一个功能怎么办呢?

  • df.style.format( )

  • df.style.set_caption( )

  • df.style.hide_index( )

  • df.style.hide_columns( )

  • df.style.bar( )

  • df.style.highlight_max( )

  • df.style.background_gradient( )

  • df.style.highlight_null( )

好了,今天就为大家介绍到这里,赶紧下去尝试吧!

**-----**------**-----**---**** End **-----**--------**-----**-****

往期精彩文章推荐:

再见,Excel!一行Pandas代码,即可实现漂亮的 “条件格式”!

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/mZxgiNZlT5XWugFW9A_ksA,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
1个月前
初学 Python 需要安装哪些软件?超级实用,小白必看!
编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。本人也是小白一名,如有不对的地方,还请各位大神指出01名词解释:如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环
CuterCorley CuterCorley
1年前
Python数据分析实战(2)使用Pandas进行数据分析
一、Pandas的使用 1.Pandas介绍Pandas的主要应用包括: 数据读取 数据集成 透视表 数据聚合与分组运算 分段统计 数据可视化Pandas的使用很灵活,最重要的两个数据类型是DataFrame和Series。对DataFrame最直观的理解是把它当成一个Excel表格文件,如下:索引是从0开始的,也
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。 1、使用解构获取json数据let jsonData   id: 1, status: "OK", data: ['a', 'b'] ; let  id, status, data: number   jsonData; console.log(id, status, number )
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
Karen110 Karen110
1年前
14个pandas神操作,手把手教你写代码
「数仓宝贝库」,带你学数据!导读: Pandas是Python数据分析的利器,也是各种数据建模的标准工具。本文带大家入门Pandas,将介绍Python语言、Python数据生态和Pandas的一些基本功能。 在Python语言应用生态中,数据科学领域近年来十分热门。作为数据科学中一个非常基础的库,Pandas受到了广泛关注。Pandas可以将现实中来
Karen110 Karen110
1年前
14个pandas神操作,手把手教你写代码
「数仓宝贝库」,带你学数据!导读:Pandas是Python数据分析的利器,也是各种数据建模的标准工具。本文带大家入门Pandas,将介绍Python语言、Python数据生态和Pandas的一些基本功能。 在Python语言应用生态中,数据科学领域近年来十分热门。作为数据科学中一个非常基础的库,Pandas受到了广泛关注。Pandas可以将现实中来源
Stella981 Stella981
1年前
Excel数据转化为sql脚本
在实际项目开发中,有时会遇到客户让我们把大量Excel数据导入数据库的情况。这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库。 1 在数据前插入一列单元格,用来拼写sql语句。  具体写法:="insert into t\_student (id,name,age,class) value ("&B2&",'"&C2&"',"&D2&"
Wesley13 Wesley13
1年前
java使用POI将数据导出放入Excel
> 本文主要是将数据库取出的数据按照自定义的行列格式导出到excel中,POI则是实现我们需求所用到的技术。 > * POI介绍 > * 使用spring boot导入相关依赖 > * 获取数据(自行处理) > * 完整代码实例:创建excel,将数据写入excel ####1.POI介绍 要想使用POI对Excel进行操作,我们需要先了
Easter79 Easter79
1年前
vue+element 表格formatter数据格式化并且插入html标签
**前言**    **vue中 element框架,其中表格组件,我既要行内数据格式化,又要插入html标签** **一贯思维,二者不可兼得也** **一、element 表格 数据格式化**   ![](https://oscimg.oschina.net/oscnet/3c43a1cb3cbdeb5b5ad58acb45a42612b00.p
Easter79 Easter79
1年前
Twitter的分布式自增ID算法snowflake (Java版)
概述 == 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
helloworld_34035044 helloworld_34035044
4个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。 uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid() 或 uuid(sep)参数说明:sep 布尔值,生成的uuid中是否包含分隔符'',缺省为