pandas操作:一行pandas代码搞定 Excel “条件格式”
推荐
在线提问>>
条件格式
Excel的 “条件格式” 是非常受欢迎的功能之一,通过添加颜色条件可以让表格数据更加清晰的凸显出统计特性。
有的朋友在想,这样的操作在python可能会很复杂。但其实一点不复杂,而且只需一行代码即可。
为什么可以做到一行代码实现 “条件格式”?
一是使用了pandas的style方法,二是要得益于pandas的链式法则。
下面我们来一起看个例子。
实例
首先,我们导入数据集,使用经典的titanic中抽样的部分数据。
import pandas as pd
df = pd.read_csv("test.csv")
df

可以看到,现在这个dataframe是空白的,什么都没有的,现在要给表格添加一些条件。
1、比如我们想让Fare变量值呈现条形图,以清楚看出各个值得大小比较,那么可直接使用bar代码如下。

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

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

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

当然,如果你希望加更多的条件格式效果,还可以继续让链式更长,但不论条件怎么多,都只是一行代码。
其它操作
上面仅仅是列举了三个style中常用的操作,还有很多其他操作比如高亮最大值、给所有负值标红等等,通过参数subset还可以指定某一列或者某几列的小范围内进行条件格式操作。
另外,还有很多的效果可以实现,比如结合seaborn的各种风格。

如果结合Ipython的HTML还可以实现炫酷的动态效果。

关于style条件格式的所有用法,可以参考pandas的官方文档。
