style - 自定义样式输出

在线刷题

检查 or 强化 Pandas 数据分析操作?👉在线体验「Pandas进阶修炼300题」

Note

本页面代码可以在线编辑、执行

上面基于 optionpandas 相关设置是全局配置,一次设置会在关闭notebook前一直有效

但相关常用的设置并不多,不能满足更多的个性化需求。

幸运的是在 pandas 中提供 Styler 对象让我们进一步个性化展示数据。

注意:基于 style 个性化设置同样不会修改数据,所有 data.style.xxxx 输出的数据均是一次性的(可以复用、导出),因此你应该在合适的时间选择使用该方法。

下面仅列举常用的方法,若想了解更多可以查阅pandas官方文档对应文章👉

本页面数据说明

为了更好的介绍相关操作,本页面使用 某招聘数据 数据进行展开,你应该对数据字段、数值、类型等相关信息做一个大致了解!

import pandas as pd
data = pd.read_csv("data.csv", usecols=[
                   'positionName', 'createTime', 'salary', 'subwayline', 'matchScore'], nrows=20, parse_dates=['createTime'])

data.head()
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 NaN 15.101875
1 数据建模 2020-03-16 11:08:00 15000 NaN 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 NaN 12.755375

隐藏索引

隐藏索引列

data.style.hide_index().set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
数据分析 2020-03-16 11:00:00 37500 nan 15.101875
数据建模 2020-03-16 11:08:00 15000 nan 32.559414
数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
数据分析 2020-03-16 09:56:00 30000 nan 12.755375
数据分析 2020-03-16 09:54:00 50000 nan 12.718732
数据分析 2020-03-16 09:41:00 30000 nan 12.615116
数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

调整精度

将带有小数点的列精度调整为小数点后2位

data.style.set_precision(2).set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.10
1 数据建模 2020-03-16 11:08:00 15000 nan 32.56
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.97
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.87
4 数据分析 2020-03-16 09:56:00 30000 nan 12.76
5 数据分析 2020-03-16 09:54:00 50000 nan 12.72
6 数据分析 2020-03-16 09:41:00 30000 nan 12.62
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.03
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.14
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.18
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.16
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.25
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.09
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.08
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.05
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.02
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.01
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.72
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.03
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.83

标记缺失值

将缺失值标记为数据缺失

(data
.style
.set_na_rep("数据缺失")
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 数据缺失 15.101875
1 数据建模 2020-03-16 11:08:00 15000 数据缺失 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 数据缺失 12.755375
5 数据分析 2020-03-16 09:54:00 50000 数据缺失 12.718732
6 数据分析 2020-03-16 09:41:00 30000 数据缺失 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 数据缺失 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 数据缺失 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 数据缺失 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 数据缺失 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 数据缺失 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 数据缺失 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 数据缺失 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 数据缺失 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

高亮缺失值

将缺失值高亮,颜色名skyblue

(data
.style
.set_na_rep("数据缺失")
.highlight_null(null_color='skyblue')
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 数据缺失 15.101875
1 数据建模 2020-03-16 11:08:00 15000 数据缺失 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 数据缺失 12.755375
5 数据分析 2020-03-16 09:54:00 50000 数据缺失 12.718732
6 数据分析 2020-03-16 09:41:00 30000 数据缺失 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 数据缺失 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 数据缺失 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 数据缺失 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 数据缺失 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 数据缺失 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 数据缺失 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 数据缺失 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 数据缺失 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

高亮数值列最大值

将 数值格式列的最大值进行高亮

data.style.highlight_max().set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

高亮数值列最小值

将 数值格式列的最小值进行高亮

data.style.highlight_min().set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

同时高亮最大最小值

同时高亮最大值(颜色代码为#F77802)与最小值(颜色代码为#26BE49

(data
.style
.highlight_max(color='#F77802')
.highlight_min(color='#26BE49')
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

指定区间高亮

高亮 salary 列范围在 3000 - 10000 的数值

# 需要 pandas 版本大于 1.3.0 才可以执行
# (data
# .style
# .highlight_between(left=3000, right=10000, subset=['salary'])
# .set_table_attributes('style="font-size: 10px"'))

渐变显示数值列

将数值格式的列使用渐变色(绿色)进行显示,以突出趋势

import seaborn as sns

cm = sns.light_palette("green", as_cmap=True)

(data
.style
.background_gradient(cmap=cm)
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

修改字体颜色

salary 列修改为红色字体

(data
.style
.set_properties(
    subset=['salary'], **{'color': 'red'})
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

修改背景颜色、对齐方式、字体大小

将整个 dataframe 进行如下设置:

  • 居中

  • 背景色修改为 #F8F8FF

  • 字体:13px

(data
.style
.set_properties(**{'background-color': '#F8F8FF','text-align':'center', 'font-size': '13px'})
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

综合(链式)设置

除了上面的单个设置,还可以将多个设置进行结合,下面对整个 dataframe 进行如下设置:

  • 居中

  • 背景色修改为 #F8F8FF

  • 字体:13px

并将 salary 列字体修改为红色

(data
.style
.set_properties(**{'background-color': '#F8F8FF','text-align':'center', 'font-size': '13px'})
.set_properties(
    subset=['salary'], **{'color': 'red'})
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

导出样式

将上一题带有样式的 pandas 数据框导出为本地 Excel(.xlsx格式)

(data
.style
.set_properties(**{'background-color': '#F8F8FF','text-align':'center', 'font-size': '13px'})
.set_properties(
    subset=['salary'], **{'color': 'red'})).to_excel('带有样式导出.xlsx')

制作指定列条形图

pandas 中对 salary 列使用条形图进行可视化,指定颜色skyblue

(data
.style
.bar(subset=['salary'],color='skyblue')
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

自定义样式

salary 列数值大于 30000 的单元格字体修改为红色

def my_style(val):

    color = 'red' if val > 30000 else 'black'
    return 'color: %s' % color


data.style.applymap(my_style, subset="salary").set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500 nan 15.101875
1 数据建模 2020-03-16 11:08:00 15000 nan 32.559414
2 数据分析 2020-03-16 10:33:00 3500 4号线 14.972357
3 数据分析 2020-03-16 10:10:00 45000 1号线 12.874153
4 数据分析 2020-03-16 09:56:00 30000 nan 12.755375
5 数据分析 2020-03-16 09:54:00 50000 nan 12.718732
6 数据分析 2020-03-16 09:41:00 30000 nan 12.615116
7 数据建模工程师 2020-03-16 11:18:00 35000 2号线 3.033237
8 数据分析专家 2020-03-16 10:57:00 60000 nan 1.141952
9 数据分析师 2020-03-16 11:18:00 40000 2号线 1.177361
10 数据分析师 2020-03-16 10:57:00 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000 2号线 4.245066
12 数据分析工程师 2020-03-16 11:18:00 20000 2号线 1.091051
13 资深数据分析师 2020-03-16 10:57:00 30000 nan 1.075559
14 数据分析师 2020-03-16 10:59:00 37500 nan 1.053428
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500 nan 1.015806
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500 nan 1.009167
17 大数据建模总监 2020-03-16 11:08:00 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500 2号线 0.834333

格式化输出日期类型

createTime 列格式化输出为 xx年xx月xx日

data.style.format({"createTime": lambda t: t.strftime("%Y年%m月%d日")}).set_table_attributes('style="font-size: 10px"')
positionName createTime salary subwayline matchScore
0 数据分析 2020年03月16日 37500 nan 15.101875
1 数据建模 2020年03月16日 15000 nan 32.559414
2 数据分析 2020年03月16日 3500 4号线 14.972357
3 数据分析 2020年03月16日 45000 1号线 12.874153
4 数据分析 2020年03月16日 30000 nan 12.755375
5 数据分析 2020年03月16日 50000 nan 12.718732
6 数据分析 2020年03月16日 30000 nan 12.615116
7 数据建模工程师 2020年03月16日 35000 2号线 3.033237
8 数据分析专家 2020年03月16日 60000 nan 1.141952
9 数据分析师 2020年03月16日 40000 2号线 1.177361
10 数据分析师 2020年03月16日 30000 nan 1.161869
11 大数据分析工程师(J11108) 2020年03月16日 30000 2号线 4.245066
12 数据分析工程师 2020年03月16日 20000 2号线 1.091051
13 资深数据分析师 2020年03月16日 30000 nan 1.075559
14 数据分析师 2020年03月16日 37500 nan 1.053428
15 产品运营(偏数据分析) 2020年03月16日 27500 nan 1.015806
16 资深数据分析师(杭州) 2020年03月16日 37500 nan 1.009167
17 大数据建模总监 2020年03月16日 37500 nan 2.719454
18 数据建模专家-杭州-01546 2020年03月16日 30000 nan 3.033237
19 数据分析专家(游戏业务) 2020年03月16日 37500 2号线 0.834333

自定义格式化数据

  • salary 列后增加”元”

  • matchScore 列保留两位小数并增加”分”

(data
.style
.format("{0:,.2f}分", subset="matchScore")
.format("{""}元", subset="salary")
.set_table_attributes('style="font-size: 10px"'))
positionName createTime salary subwayline matchScore
0 数据分析 2020-03-16 11:00:00 37500元 nan 15.10分
1 数据建模 2020-03-16 11:08:00 15000元 nan 32.56分
2 数据分析 2020-03-16 10:33:00 3500元 4号线 14.97分
3 数据分析 2020-03-16 10:10:00 45000元 1号线 12.87分
4 数据分析 2020-03-16 09:56:00 30000元 nan 12.76分
5 数据分析 2020-03-16 09:54:00 50000元 nan 12.72分
6 数据分析 2020-03-16 09:41:00 30000元 nan 12.62分
7 数据建模工程师 2020-03-16 11:18:00 35000元 2号线 3.03分
8 数据分析专家 2020-03-16 10:57:00 60000元 nan 1.14分
9 数据分析师 2020-03-16 11:18:00 40000元 2号线 1.18分
10 数据分析师 2020-03-16 10:57:00 30000元 nan 1.16分
11 大数据分析工程师(J11108) 2020-03-16 09:25:00 30000元 2号线 4.25分
12 数据分析工程师 2020-03-16 11:18:00 20000元 2号线 1.09分
13 资深数据分析师 2020-03-16 10:57:00 30000元 nan 1.08分
14 数据分析师 2020-03-16 10:59:00 37500元 nan 1.05分
15 产品运营(偏数据分析) 2020-03-16 10:59:00 27500元 nan 1.02分
16 资深数据分析师(杭州) 2020-03-16 10:59:00 37500元 nan 1.01分
17 大数据建模总监 2020-03-16 11:08:00 37500元 nan 2.72分
18 数据建模专家-杭州-01546 2020-03-16 11:17:00 30000元 nan 3.03分
19 数据分析专家(游戏业务) 2020-03-16 10:19:00 37500元 2号线 0.83分