一行 pandas 代码搞定 Excel 条件格式!

条件格式

Excel的 “条件格式” 是非常棒的功能,通过添加颜色条件可以让表格数据更加清晰的凸显出统计特性。有的朋友在想,这样的操作在python可能会很复杂。但其实一点不复杂,而且只需一行代码即可。为什么可以做到一行代码实现 “条件格式”?一是使用了pandas的style方法,二是要得益于pandas的链式法则。下面我们来一起看个例子,体验一下这个组合操作有多骚。

导入数据

首先,我们导入数据集,使用经典的titanic中抽样的部分数据。

import pandas as pd
df = pd.read_csv("test.csv")
df
一行 pandas 代码搞定 Excel 条件格式!

1、比如我们想让Fare变量值呈现条形图,以清楚看出各个值得大小比较,那么可直接使用bar代码如下。

df.style.bar("Fare",vmin=0)
一行 pandas 代码搞定 Excel 条件格式!

2、再比如,我们想让Age变量呈现背景颜色的梯度变化,以体验映射的数值大小,那么可直接使用background_gradient,深颜色代表数值大,浅颜色代表数值小,代码如下。

df.style.background_gradient("Greens",subset="Age")
一行 pandas 代码搞定 Excel 条件格式!

3、让所有缺失值都高亮出来,可使用highlight_null,表格所有缺失值都会变成高亮。

df.style.highlight_null()
一行 pandas 代码搞定 Excel 条件格式!

以上就是pandasstyle条件格式,用法非常简单。下面我们用链式法则将以上三个操作串起来,只需将每个方法加到前一个后面即可,代码如下。

df.style.bar("Fare",vmin=0).background_gradient("Greens",subset="Age").highlight_null()
一行 pandas 代码搞定 Excel 条件格式!

其它操作

# 负值标为红色
applymap(color_negative_red)

# 高亮最大值
apply(highlight_max)

# 使某一列编程±前缀,小数点保留两位有效数字
format({"Coulumn": lambda x: "±{:.2f}".format(abs(x))})

# 使用subset进行dataframe切片,选择指定的列
applymap(color_negative_red,
                  subset=pd.IndexSlice[2:5, ['B', 'D']])
import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
df.style.background_gradient(cmap=cm)

    原创文章(本站视频密码:66668888),作者:xujunzju,如若转载,请注明出处:https://zyicu.cn/?p=17124

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    xujunzju管理者
    上一篇 2023年7月22日 23:59
    下一篇 2023年8月3日 23:29

    相关推荐

    发表回复

    登录后才能评论
    联系我们
    邮箱:
    xujunzju@gmail.com
    公众号:
    xujunzju6174
    捐赠本站
    捐赠本站
    分享本页
    返回顶部