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

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 个函数。如果你想了解更多有关数据框的样式,请在下方获取。此外,关注我,更多好玩、实用的技能等着你来发现!

领取方式:

长按扫码,发消息 [数据框]

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报