没错!4 个 Python 函数就可以让你的数据框「骚气满满」!
共 2301字,需浏览 5分钟
·
2020-12-29 10:12
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 个函数。如果你想了解更多有关数据框的样式,请在下方获取。此外,关注我,更多好玩、实用的技能等着你来发现!
领取方式:
长按扫码,发消息 [数据框]