Pandas 数据帧是数据科学家分析数据时使用最多的工具。虽然其主要功能是放置数据并进行数据分析,但我们仍然可以为数据框样式进行很多优化,一方面可以让数据更加美观,另一方面突出主题。
让我们以如下数据集为例,来一步一步的讲解吧!
import pandas as pd
import seaborn as sns
planets = pd.read_csv('seaborn-data-master/planets.csv')
planets.head()
我们可以像下面一样设置我们的 Pandas 数据框样式。
在上图中,它看起来五颜六色,是因为我把所需要的东西都放在里面。在这里,我使用了日常工作中经常使用的 4 个函数,现在分享给大家。
1、隐藏函数
有时,当你进行数据分析并向对方呈现结果时,只想显示最重要的方面。当我向非技术人员展示我的数据时,对于非必要展示的索引,我会隐藏掉,此时可以这样处理。
planets.head(10).style.hide_index()
就像上面这样,我们隐藏了索引。这是一件简单的事情。此外,我们可以尝试使用隐藏不必要的列。
planets.head(10).style.hide_index().hide_columns(['method','year'])
2、高亮函数
如果我们程序数据框时,只突出显示重要的数字,例如最高数字。在这种情况下,我们可以使用内置方法突显它。
planets.head(10).style.highlight_max(color = 'yellow')
在上面的数据框中,我们用黄色突出显示每列中的最大数字。如果想突出显示最小数字,我们可以使用以下代码进行。
planets.head(10).style.highlight_min(color = 'lightblue')
如果你标注想要最大值和最小值
planets.head(10).style.highlight_max(color='yellow').highlight_min(color = 'lightblue')
也可以突出显示每一行的最小或最大数字,而不是每列。我在下面的代码中显示它。
planets.head(10).style.highlight_max(color = 'yellow', axis =1)
我们也可以突出显示null 值。
planets.head(10).style.highlight_null(null_color = 'red')
3、渐变函数
在呈现数据的同时,我们还可以使用渐变颜色作为呈现数据的主要方式。我经常以背景颜色显示数据,以突出显示哪个数字位于较低区域,而哪个数字位于较高区域中。让我们使用以下代码的示例。
planets.head(10).style.background_gradient(cmap = 'Blues')
使用 background_gradient 函数,我们可以将数据框着色为渐变。颜色取决于 cmap 参数。我们还可以使用条形图作为渐变背景颜色。让我在下面的示例中显示它。
planets.head(10).sort_values(by = 'year').style.bar(color= 'lightblue')
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 个函数。如果你想了解更多有关数据框的样式,可以阅读如下链接,此外,关注我,更多好玩、使用的技能等着你来发现
https://pandas.pydata.org/docs/user_guide/style.html#Builtin-styles
技术交流
欢迎转载、收藏本文,码字不易,有所收获点赞支持一下!
为方便进行学习交流,本号开通了技术交流群,添加方式如下: