图表绘制工具--Matplotlib 3
'''
【课程3.】 表格样式创建 表格视觉样式: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(,),columns=['a','b','c','d'])
sty = df.style
print(sty,type(sty))
# 查看样式类型 sty
# 显示样式
输出:
<pandas.formats.style.Styler object at 0x0000000009789CF8> <class 'pandas.formats.style.Styler'>
# 按元素处理样式:style.applymap() def color_neg_red(val):
if val < :
color = 'red'
else:
color = 'black'
return('color:%s' % color)
df.style.applymap(color_neg_red)
# 创建样式方法,使得小于0的数变成红色
# style.applymap() → 自动调用其中的函数
输出:
# 按行/列处理样式: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 = , subset = ['b','c'])
# 创建样式方法,每列最大值填充黄色
# axis:0为列,1为行,默认为0
# subset:索引
输出:
# 样式索引、切片 df.style.apply(highlight_max, axis = ,
subset = pd.IndexSlice[:,['b', 'd']])
# 通过pd.IndexSlice[]调用切片
# 也可:df[:].style.apply(highlight_max, subset = ['b', 'd']) → 先索引行再做样式
输出:
'''
【课程3.】 表格显示控制 df.style.format() '''
# 按照百分数显示 df = pd.DataFrame(np.random.randn(,),columns=['a','b','c','d'])
print(df.head())
df.head().style.format("{:.2%}")
输出:
a b c d
-1.458644 -0.655620 0.134962 0.487259
0.921098 0.631805 0.943667 -0.669659
1.162486 -1.362738 0.015851 0.720793
1.250515 2.166381 0.222424 1.696663
-0.655765 -0.768403 -1.802734 0.087619
# 显示小数点数 df.head().style.format("{:.4f}")
输出:
# 显示正负数 df.head().style.format("{:+.2f}")
输出:
# 分列显示 df.head().style.format({'b':"{:.2%}", 'c':"{:+.3f}", 'd':"{:.3f}"})
输出:
'''
【课程3.】 表格样式调用 Styler内置样式调用 '''
# 定位空值 df = pd.DataFrame(np.random.rand(,),columns = list('ABCD'))
df['A'][] = np.nan
df.style.highlight_null(null_color='red')
输出:
# 色彩映射 df = pd.DataFrame(np.random.rand(,),columns = list('ABCD'))
df.style.background_gradient(cmap='Greens',axis =,low=,high=)
# cmap:颜色
# axis:映射参考,0为行,1以列
输出:
# 条形图 df = pd.DataFrame(np.random.rand(,),columns = list('ABCD'))
df.style.bar(subset=['A', 'B'], color='#d65f5f', width=)
# width:最长长度在格子的占比。效果图和截图并不一样。
输出:
# 分段式构建样式 df = pd.DataFrame(np.random.rand(,),columns = list('ABCD'))
df['A'][[,]] = np.nan
df.style.\
bar(subset=['A', 'B'], color='#d65f5f', width=).\
highlight_null(null_color='yellow')
输出:
图表绘制工具--Matplotlib 3的更多相关文章
- 图表绘制工具--Matplotlib 1
''' [课程3.] Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高 ...
- 图表绘制工具--Matplotlib 2
''' [课程3.] 基本图表绘制 plt.plot() 图表类别:线形图.柱状图.密度图,以横纵坐标两个维度为主 同时可延展出多种其他图表样式 plt.plot(kind='line', ax=No ...
- 【网易微专业】图表绘制工具Matplotlib
01 与图片的交互方式设置 这一小节简要介绍一下Matplotlib的交互方式 import pandas as pd import numpy as np import matplotlib.pyp ...
- 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案
第一步,我们加上对html5的支持. <!--[if IE]> <script src="/public/html5.js" type="text/ja ...
- Matplotlib 图表绘制工具学习笔记
import numpy as np import matplotlib.pyplot as plt import pandas as pd arr1 = np.random.rand(10)#一维数 ...
- Python图表绘制:matplotlib绘图库入门
matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...
- Python图表绘制:matplotlib绘图库入门(转)
matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...
- Android学习之 AChartEngine 图表绘制
Android 开源图表绘制工具AChartEngine地址:http://code.google.com/p/achartengine/ AChartEngine Android实现图表绘制和展示( ...
- Matplotlib Toolkits:地图绘制工具
Matplotlib Toolkits:地图绘制工具 有没有一种可以直接在详细地图(如谷歌地图)上绘制上百万坐标点的工具???谷歌地图坐标点多了也不能绘制了. Basemap (Not distrib ...
随机推荐
- 使用 python快速搭建http服务
在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer. 我们可以很简单的使用 python -m SimpleHTTPSer ...
- 实例讲解如何利用jQuery设置图片居中放大或者缩小
大家有没有见过其他网站的图片只要鼠标放上去就能放大,移出去的时候就能缩小,而且一直保持居中显示!其实jQuery提供一个animate函数可以使图片放大和缩小,只要改变图片的长和高就OK啦!但是ani ...
- Pandas基本命令
关键缩写和包导入 在这个速查手册中,我们使用如下缩写: df:任意的Pandas DataFrame对象 同时我们需要做如下的引入: import pandas as pd 创建测试对象 import ...
- [bzoj3450]Tyvj1952Easy
瓜皮期望真是弱成渣.. 完全不理解的感觉qwq...题面%了一发千古神犇WJMZBMR哈~ Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化 ...
- Win7更换锁屏和开机画面
技术交流群:233513714 每次开机被Windows千年不变的开机画面和锁屏画面丑到的小伙伴们可以看过来,通过简单的几步就可以改掉系统默认的开机画面. 1.首先Windows+r键输入regedi ...
- 原子操作和volatile关键字
原子操作:不可被中断的操作.要么全执行,要么全不执行. 现代CPU读取内存,通过读取缓存再写入主存.先去主存读--->写入缓存---->运行线程--->写入缓存---->写入主 ...
- 《Cracking the Coding Interview》——第2章:链表——题目3
2014-03-18 02:25 题目:给定一个单链表中间的节点,删掉那个节点. 解法:把后面节点的数据域拷到当前节点来,然后删除后面那个节点.当前节点不是尾巴,所以后面不为空. 代码: // 2.2 ...
- 基类VS接口
该篇引用 CLR via C# 中的13.11节. 应该设计基类还是接口,这个问题不能一概而论,下面提供一些指导性原则: 1. IS_A关系(指属于,例如汽车属于交通工具) vs CAN_DO关系(指 ...
- Vue_自定义指令
关于Vue的自定义指令: - 在Vue中除了核心功能默认内置的指令(v-model & v-show) - Vue也允许注册自定义指令. 注意,在 Vue2.0 中,代码复用和抽象的主要形式是 ...
- django-settings里redis连接与缓存配置
# Django-redis的缓存配置 CACHES = { "default": { "BACKEND": "django_redis.cache. ...