@      五栽Pandas图外美化样式汇总

当前位置: 365游戏大厅官网-365亚洲唯一官网下载 > 产品中心 > 五栽Pandas图外美化样式汇总

五栽Pandas图外美化样式汇总

Pandas是一栽高效的数据处理库,它以dataframe和series为基本数据类型,表现出相通excel的二维数据。

在Jupyter中,会美化Pandas的输出。差别于IDE展现的文本式样,Jupyter能够经过CSS修改外格的样式。

吾们在做excel外格的时候,往往会对主要数据进走highlight,或者用差别颜色外示数据的大幼。这在Pandas中也是能够实现的,而且专门简洁。

Pandas挑供了 DataFrame.style 属性,它会返回 Styler 对象,用以数据样式的美化。

清淡的,吾们必要将样式函数行为参数传递到下面手段中,就能够实现图外美化。

Styler.applymap: 作用于元素 Styler.apply:作用于走、列或整个外

下面经过一些例子,详细展现常用的美化式样。

一、高亮表现

为便于展现,数据示例是用的 2021世界人口数现在十国家数据 。

import pandas as pd data = pd.read_excel(r"E:\\jupyter_notebook\\2021世界人口数据.xlsx") data 

吾们先望下该外的新闻:

data.info() 

除了前两列,其他列都为数字类型。

现在对指定列的最大值进走高亮处理:

def highlight_max(s):     '''     对列最大值高亮(黄色)处理     '''     is_max = s == s.max()     return ['background-color: yellow' if v else '' for v in is_max]  data.style.apply(highlight_max,subset=['2021人口', '2020人口', '面积','单位面积人口','人口添幅','世界占比']) 

倘若不想对元素背景高亮处理,也能够直接更改指定元素颜色,从而达到特出重点的现在标。

标记 单位面积人口列 大于200的元素:

def color_red(s):     is_max = s > 200     return ['color : red' if v else '' for v in is_max]  data.style.apply(color_red,subset=['单位面积人口']) 

二、数据条表现

Excel条件格式里,有一个数据条表现手段,用以可视化外达数据大幼。

Pandas Style手段中也有数据条的外达式样,用 df.style.bar 来实现。

照样用前线人口数据的例子,吾们来望下如何操作数据条。

import pandas as pd data = pd.read_excel(r"E:\\jupyter_notebook\\2021世界人口数据.xlsx") # 数据条表现指定列数据大幼 data.style.bar(subset=['2021人口', '2020人口'], color='#FFA500') 

三、色阶表现

色阶也就是炎力图,它和数据条相通,都用来外达数据大幼。

Pandas Style中色阶的行使也很浅易,用 df.style.background_gradient 实现。

import seaborn as sns  # 行使seaborn获取颜色 cm = sns.light_palette("green", as_cmap=True) # 色阶实现 data.style.background_gradient(cmap=cm,subset=['2021人口', '2020人口', '面积','单位面积人口','人口添幅','世界占比']) 

能够经过选择最大最幼颜色比例,调节色阶周围。

调节前:

import seaborn as sns  # 色阶实现,这边行使内置色阶类型,不调节颜色周围 data.style.background_gradient(cmap='viridis',high=0.2,low=0.1,subset=['2021人口', '2020人口', '面积','单位面积人口','人口添幅','世界占比']) 

调节后:

import seaborn as sns  # 色阶实现,这边行使内置色阶类型,调节颜色周围 data.style.background_gradient(cmap='viridis',high=0.5,low=0.3,subset=['2021人口', '2020人口', '面积','单位面积人口','人口添幅','世界占比']) 

四、百分比表现

有些数字必要百分比表现才能实在外达,比如说人口数据里的人口添幅、世界占比。

Pandas能够数据框中表现百分比,经过 Styler.format 来实现。

data.style.format("{:.2%}",subset=['人口添幅','世界占比']) 

五、标记缺失值

数据荟萃能够会存在缺失值,倘若想特出表现缺失值,该怎么操作?

这边有益几栽常用的手段,一是用 - 符号替代,二是高亮表现

先创建一个带缺失值的外,照样用人口数据。

import pandas as pd import numpy as np data = pd.read_excel(r"E:\\jupyter_notebook\\2021世界人口数据.xlsx") data.iloc[1, 4] = np.nan data.iloc[3, 1] = np.nan data.iloc[6, 6] = np.nan data 

上面数据中有三个缺失值,吾们用 - 符号替代缺失值:

data.style.format(None, na_rep="-") 

再试试对缺失值高亮表现:

data.style.highlight_null(null_color='red') 

附:将样式输出到excel

Pandas中的数据美化样式不光能够展现在notebook中,还能够输出到excel。

这边行使to_excel手段,并用openpyxl行为内核

import pandas as pd import numpy as np data = pd.read_excel(r"E:\\jupyter_notebook\\2021世界人口数据.xlsx") data.style.background_gradient(cmap='viridis',subset=['2021人口', '2020人口', '面积','单位面积人口','人口添幅','世界占比']).\                               to_excel('style.xlsx', engine='openpyxl') 

【编辑选举】

鸿蒙官方战略配相符共建——HarmonyOS技术社区 大数据之HDFS/Hadoop集群管理视频课程 跟王先生学MySQL MySQL的数据类型视频课程 SQL照样NoSQL:12栽数据存储如何选择? 教你行使TensorFlow2对阿拉伯语手写字符数据集进走识别 快鱼吃慢鱼时代,数据流如何收获企业数字化转型?