pandas100个骚操作:一行 pandas 代码搞定 Excel “条件格式”!
Python绿色通道
共 3129字,需浏览 7分钟
· 2021-04-04
↑ 关注 + 星标 ,每天学Python新技能
↑ 关注 + 星标 ,每天学Python新技能
后台回复【大礼包】送你Python自学大礼包
后台回复【大礼包】送你Python自学大礼包
![](https://filescdn.proginn.com/a72a940cd01f251650ae344a14692929/1c75bd80487379f923f161c132bbcbb5.webp)
大家好,我是你们的东哥。
本篇是pandas100个骚操作系列的第 1 篇:一行 pandas 代码搞定 Excel “条件格式”!
style
方法,二是要得益于pandas的链式法则
。import pandas as pd
df = pd.read_csv("test.csv")
df
![](https://filescdn.proginn.com/ee5e8256b423b5067810f54243d7d342/700c140da57744fd00c1a083a785a7b5.webp)
bar
代码如下。df.style.bar("Fare",vmin=0)
![](https://filescdn.proginn.com/50607723744d94e68f68e7144db61d31/8eefdaeb3a194854bb4584c3df636243.webp)
background_gradient
,深颜色代表数值大,浅颜色代表数值小,代码如下。df.style.background_gradient("Greens",subset="Age")
![](https://filescdn.proginn.com/0f7c7f19efe37b894b9240af179c1ee0/0baa48ea8481689f0ce10df1bc174110.webp)
highlight_null
,表格所有缺失值都会变成高亮。df.style.highlight_null()
![](https://filescdn.proginn.com/795a6caabb3457146401855b0689f004/0f1fccfe12027f839119e958639bafde.webp)
pandas
的style
条件格式,用法非常简单。下面我们用链式法则将以上三个操作串起来,只需将每个方法加到前一个后面即可,代码如下。df.style.bar("Fare",vmin=0).background_gradient("Greens",subset="Age").highlight_null()
![](https://filescdn.proginn.com/616cfe7776c27642b03d15032c8b8331/c8dd4643efeeb25e51c7a22189d9ab45.webp)
style
中常用的操作,还有很多其他操作比如高亮最大值、给所有负值标红等等,通过参数subset还可以指定某一列或者某几列的小范围内进行条件格式操作。# 负值标为红色
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']])
seaborn
的各种风格。import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
df.style.background_gradient(cmap=cm)
![](https://filescdn.proginn.com/66080f1b02e179c840315354d9eac113/77971a0797f292e8a99be55b4e5551bb.webp)
Ipython
的HTML
还可以实现炫酷的动态效果。from IPython.display import HTML
def hover(hover_color="#ffff99"):
return dict(selector="tr:hover",
props=[("background-color", "%s" % hover_color)])
styles = [
hover(),
dict(selector="th", props=[("font-size", "150%"),
("text-align", "center")]),
dict(selector="caption", props=[("caption-side", "bottom")])
]
html = (df.style.set_table_styles(styles)
.set_caption("Hover to highlight."))
html
![](https://filescdn.proginn.com/becc1fb99eaa6960d631c81a45f97b75/99e1085ab9ac0080f2725dc7a5b93dc9.webp)
style
条件格式的所有用法,可以参考pandas的官方文档。![](https://filescdn.proginn.com/4d9271c75210b2fc3ba83e341328307a/ab462a3a0f33909c331b36948def02b2.webp)
Python自学超级硬核资料
Ps:这里都是视频学习资料,基础不好或者零基础的同学比较适合
最后送大家一份Python学习大礼包,从Python基础,爬虫,数据分析Web开发等全套资料,吃透资料,你可以扔掉其他资料,这些资料都是视频,学起来非常友好。
扫码加微信后备注「Python新手」方便我给你发送资料,另外「Python绿色通道」专属学习群已正式成立,想进群也可扫上方二维码。
推荐阅读
看完记得关注@Python绿色通道 及时收看更多好文 ↓↓↓ 点个在看你最好看
评论