Pandas 数据帧是数据科学家分析数据时使用最多的工具。虽然其主要功能是放置数据并进行数据分析,但我们仍然可以为数据框样式进行很多优化,一方面可以让数据更加美观,另一方面突出主题。

让我们以如下数据集为例,来一步一步的讲解吧!

import pandas as pd
import seaborn as sns
planets = pd.read_csv('seaborn-data-master/planets.csv')
planets.head()

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据分析

我们可以像下面一样设置我们的 Pandas 数据框样式。

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据分析_02

在上图中,它看起来五颜六色,是因为我把所需要的东西都放在里面。在这里,我使用了日常工作中经常使用的 4 个函数,现在分享给大家。

1、隐藏函数

有时,当你进行数据分析并向对方呈现结果时,只想显示最重要的方面。当我向非技术人员展示我的数据时,对于非必要展示的索引,我会隐藏掉,此时可以这样处理。

planets.head(10).style.hide_index()

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_python_03

就像上面这样,我们隐藏了索引。这是一件简单的事情。此外,我们可以尝试使用隐藏不必要的列。

planets.head(10).style.hide_index().hide_columns(['method','year'])

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据_04

2、高亮函数

如果我们程序数据框时,只突出显示重要的数字,例如最高数字。在这种情况下,我们可以使用内置方法突显它。

planets.head(10).style.highlight_max(color = 'yellow')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_ide_05

在上面的数据框中,我们用黄色突出显示每列中的最大数字。如果想突出显示最小数字,我们可以使用以下代码进行。

planets.head(10).style.highlight_min(color = 'lightblue')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据框_06

如果你标注想要最大值和最小值

planets.head(10).style.highlight_max(color='yellow').highlight_min(color = 'lightblue')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_python_07

也可以突出显示每一行的最小或最大数字,而不是每列。我在下面的代码中显示它。

planets.head(10).style.highlight_max(color = 'yellow', axis =1)

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据_08

我们也可以突出显示null 值。

planets.head(10).style.highlight_null(null_color = 'red')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据_09

3、渐变函数

在呈现数据的同时,我们还可以使用渐变颜色作为呈现数据的主要方式。我经常以背景颜色显示数据,以突出显示哪个数字位于较低区域,而哪个数字位于较高区域中。让我们使用以下代码的示例。

planets.head(10).style.background_gradient(cmap = 'Blues')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_python_10

使用 background_gradient 函数,我们可以将数据框着色为渐变。颜色取决于 cmap 参数。我们还可以使用条形图作为渐变背景颜色。让我在下面的示例中显示它。

planets.head(10).sort_values(by = 'year').style.bar(color= 'lightblue')

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_python_11

4、自定义功能

如果你希望对数据框进行更具体的设置,实际上可以这样做。我们可以将样式函数传递到以下方法之一:


  • Styler.applymap:元素
  • Styler.apply:列、行、表

举个示例,假设我设置一个阈值,低于 20 的数字都应该是红色的。我们可以使用以下代码来做到这一点。

def color_below_20_red(value):
if type(value) == type(''):
return 'color:black'
else:
color = 'red' if value <= 20 else 'black'
return 'color: {}'.format(color)

planets.head(10).style.applymap(color_below_20_red)

没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_python_12

结论

我已经展示了在设置数据框样式时,要使用的前 4 个函数。如果你想了解更多有关数据框的样式,可以阅读如下链接,此外,关注我,更多好玩、使用的技能等着你来发现

https://pandas.pydata.org/docs/user_guide/style.html#Builtin-styles

技术交流

欢迎转载、收藏本文,码字不易,有所收获点赞支持一下!

为方便进行学习交流,本号开通了技术交流群,添加方式如下:


没错!4  个 Python 函数就可以让你的数据框「骚气满满」!_数据框_13