1.表格样式创建

表格视觉样式:Dataframe.style → 返回pandas.Styler对象的属性,具有格式化和显示Dataframe的有用方法

样式创建:
Styler.applymap:elementwise → 按元素方式处理Dataframe
Styler.apply:column- / row- / table-wise → 按行/列处理Dataframe

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
% matplotlib inline
#样式
df = pd.DataFrame(np.random.randn(10, 4), columns=['a','b','c','d'])
sty = df.style
print(sty, type(sty)) # 查看样式类型 sty # 显示样式

---->

<pandas.formats.style.Styler object at 0x00000000097731D0> <class 'pandas.formats.style.Styler'>

按元素处理样式 df.style.applymap( 函数 )

# 按元素处理样式:style.applymap()
def color_neg_red(val):
if val < 0:
color = 'red'
else:
color = 'black'
return ('color:%s'% color)
df.style.applymap(color_neg_red)
# 创建样式方法,使得小于0的数变成红色
# style.applymap() → 自动调用其中的函数

按行/列处理样式 df.style.apply( 函数, axis=0按列, subset=['b','c']处理b、c列 )

# 按行/列处理样式:style.apply()
def highlight_max(s):
is_max = s == s.max()
print(is_max)
lst = []
for v in is_max:
if v:
lst.append('background-color: yellow')
else:
lst.append('')
return (lst)
df.style.apply(highlight_max, axis=0, subset=['b', 'c']) # axis:0为列,1为行,默认为0; # subset:索引
# 创建样式方法,每列最大值填充黄色
0    False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
Name: b, dtype: bool
0 False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
Name: b, dtype: bool
0 False
1 False
2 False
3 True
4 False
5 False
6 False
7 False
8 False
9 False
Name: c, dtype: bool

样式索引、切片

df.style.apply(highlight_max, axis = 1,
subset = pd.IndexSlice[2:5,['b', 'd']]) 按照index索引,再切片b、d列所对应的值
# 样式索引、切片

df.style.apply(highlight_max, axis = 1,
subset = pd.IndexSlice[2:5,['b', 'd']]) # 通过pd.IndexSlice[]调用切片 # 也可:df[2:5].style.apply(highlight_max, subset = ['b', 'd']) → 先索引行再做样式
b     True
d False
Name: 2, dtype: bool
b True
d False
Name: 2, dtype: bool
b False
d True
Name: 3, dtype: bool
b True
d False
Name: 4, dtype: bool
b False
d True
Name: 5, dtype: bool

2.表格显示控制

df.head().style.format("{:.2%}")
# 按照百分数显示

df = pd.DataFrame(np.random.randn(10,4),columns=['a','b','c','d'])
print(df.head())
df.head().style.format("{:.2%}")
          a         b         c         d
0 1.239244 0.018364 0.570776 0.087462
1 -0.340928 -0.217569 -0.532815 -1.535981
2 -0.647936 -1.520526 -1.937499 -0.257186
3 -0.887309 1.037361 0.084524 0.187425
4 1.821439 -0.728899 0.191298 0.016149

df.head().style.format("{:.4f}")
# 显示小数点数

df.head().style.format("{:.4f}")

df.head().style.format("{:+.2f}")
# 显示正负数

df.head().style.format("{:+.2f}")

df.head().style.format({'b':"{:.2%}", 'c':"{:+.3f}", 'd':"{:.3f}"})
# 分列显示

df.head().style.format({'b':"{:.2%}", 'c':"{:+.3f}", 'd':"{:.3f}"})

3.表格样式调用

Styler内置样式调用

df.style.highlight_null(null_color='red') #定位空值 
# 定位空值
df = pd.DataFrame(np.random.rand(5, 4), columns=list('ABCD'))
df['A'][2] = np.nan
df.style.highlight_null(null_color='red')

df.style.background_gradient(cmap='Greens',axis =1,low=0,high=1) 色彩映射
# 色彩映射

df = pd.DataFrame(np.random.rand(10,4),columns = list('ABCD'))
df.style.background_gradient(cmap='Greens',axis =1,low=0,high=1) # cmap:颜色; # axis:映射参考,0为行,1以列

df.style.bar(subset=['A', 'B'], color='#d65f5f', width=100) 
# 条形图

df = pd.DataFrame(np.random.rand(10,4),columns = list('ABCD'))
df.style.bar(subset=['A', 'B'], color='#d65f5f', width=100) # width:最长长度在格子的占比

# 分段式构建样式
df = pd.DataFrame(np.random.rand(10,4),columns = list('ABCD'))
df['A'][[3,2]] = np.nan
df.style.\
bar(subset=['A', 'B'], color='#d65f5f', width=100).\
highlight_null(null_color='yellow')

07. Matplotlib 3 |表格样式| 显示控制的更多相关文章

  1. 漂亮的表格样式–>使用CSS样式表控制表格样式

    依照WEB2.0风格,设计了几个表格样式,希望大家喜欢.WEB2.0提倡使用div开布局,但不是要完全放弃使用表格,表格在数据展现方面还是不错的选择.现在介绍使用CSS样式表来控制.美化表格的方法. ...

  2. 美丽的表格样式(使用CSS样式表控制表格样式)

    按照WEB2.0风格,设计了几个表格样式,希望大家喜欢. WEB2.0提倡使用div开布局,但不是要全然放弃使用表格,表格在数据展现方面还是不错的选择. 如今使用介绍使用CSS样式表来控制.美化表格的 ...

  3. 漂亮的表格样式(使用CSS样式表控制表格样式)

    根据WEB2.0风格,设计了几个表格样式,我希望你喜欢. WEB2.0推广使用div开放式布局.但并不是完全放弃使用形式,在数据表现形式而言是一个不错的选择. 本节将介绍如何使用现在CSS样式表来控制 ...

  4. delphi 设置表格样式。

    //设置表格样式 wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderLeft).LineStyle = Word.WdLine ...

  5. 普通table表格样式及代码大全(全)

    普通table表格样式及代码大全(全)(一) 单实线边框表格 <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#00 ...

  6. 解决百度Ueditor编辑器表格不显示边框问题

    一.主要内容 CMS使用百度Ueditor编辑器中的表格功能,在编辑模式下可以正常显示边框,而文章发布之后表格不能显示边框.本博文经过查阅相关资料,最终解决了该问题. 二.使用平台 1. dedecm ...

  7. Bootstrap表格样式(附源码文件)--Bootstrap

    1.表格默认样式 <h4>表格默认样式</h4><table><!--默认样式--> <tr><th>序号</th> ...

  8. UEditor在asp.netMVC4中的使用,包括上传功能,粘贴表格不显示边框问题

    网页编程中在线编辑器的使用还是很重要的,最近研究了一下百度出的UEditor编辑器,把它结合到刚学的asp.netMVC+EF中,同时实现上传资料(包括图片,视频等)功能,下面就以一个最简单的新闻管理 ...

  9. matplotlib y轴标注显示不全以及subplot调整的问题

    matplotlib y轴标注显示不全以及subplot调整的问题 问题: 我想在y轴显示的标注太长,想把它变成两行显示,发现生成的图形只显示的第二行的字,把第一行的字挤出去了 想要的是显示两行这样子 ...

随机推荐

  1. ajax返回的欧洲字符(例如:法文)乱码

    ajax返回值的乱码现象产生的相关代码如下: Java代码: JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(&quo ...

  2. VUE 密码验证与提示

    1. 概述 1.1 说明 vue项目中,为了较为明了的让用户看到所输入的密码信息的长度与复杂度是否满足要求,开发一个组件来满足此需求(当密码输入时进行密码验证操作,当密码的长度在8到24位之间,密码中 ...

  3. hadoop环境配置

    0. Hadoop源码包下载 http://mirror.bit.edu.cn/apache/hadoop/common/   1. 集群环境 Master 172.16.11.97 Slave1 1 ...

  4. nginx+ssl 服务器 双向认证

    项目后台服务器采用nginx+tomcat 负载均衡架构  不久 访问协议有http升级为https 对服务器认证采用沃通的ssl证书 nginx ssl证书安装 参照沃通官方文档 他们有技术支持沟通 ...

  5. 在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置

    在Ubuntu 15下搭建VPN服务器pptpd安装和配置 在ubuntu下配置vpn的方式有很多种,其中比较常见的是pptpd,它配置简单,但是安全性不高,不过对于一般使用来说足够了,我按照程搭建了 ...

  6. Confluence 6 重构 ancestor 表

    ancestor 表记录了上级和下级(子页面)页面之间的关系.这个表格同时被用来确定子页面是否具有从上级页面继承来的限制(restrictions)权限. 偶尔 ancestor 表格中的数据可能被损 ...

  7. Confluence 6 恢复一个站点问题解决

    如果你在导入的时候遇到了问题,检查下面的一些提示. 你的文件太大而不能上传?这个是非常常见的错误.出现的原因是备份文件不能在规定的时间内上传到服务器上.为了避免这个错误,放置你的导出文件到  < ...

  8. 部署描述符 web.xml

    google的部署描述符详解: https://cloud.google.com/appengine/docs/flexible/java/configuring-the-web-xml-deploy ...

  9. hdu2121 最小树形图的虚根

    /* 最小树形图的第二题,终于有了一些理解 具体看注释 */ /* 无定根的最小树形图 建立虚root 每次只找最短的那条入边 最小树形图理解: 第一步:寻找最短弧集E:扫一遍所有的边,找到每个点权值 ...

  10. Fiddler导出Jmeter脚本

    版本:V4.4 用途:将fiddler抓取的请求,导出为jmx格式,方便jmeter直接调用 新增功能: 1.在测试计划下,新增[HTTP请求默认值],内容为空,后续需将站点的IP和端口填下在这个下面 ...