使用 applymap()

突出显示熊猫数据框的特定列

原文:https://www . geesforgeks . org/highlight-pandas-data frames-specific-columns-using-apply map/

让我们看看如何突出熊猫数据框的元素和特定的列。我们可以使用 Styler 类的 applymap() 函数来实现。

Styler.applymap()

语法: Styler.applymap(self,func,subset = None,**kwargs)

参数:

  • func : 取一个标量,返回一个标量。
  • 子集:在应用函数之前限制数据的有效索引器。
  • 夸脱:字典传给功能

返回:样式器

让我们用例子来理解:

首先创建一个简单的数据框:

# importing pandas as pd 
import pandas as pd 

# creating the dataframe  
df = pd.DataFrame({"A" : [14, 4, 5, 4, 1], 
                   "B" : [5, 2, 54, 3, 2],
                   "C" : [20, 20, 7, 3, 8],
                   "D" : [14, 3, 6, 2, 6]}) 

print("Original DataFrame :")
display(df)

输出:

示例 1 : 对于数据框中的每个单元格,如果该值小于 6,则我们将使用红色突出显示该单元格,否则使用蓝色。

# function definition
def highlight_cols(s):
    color = 'red' if s < 6 else 'blue'
    return 'background-color: % s' % color

# highlighting the cells
display(df.style.applymap(highlight_cols))

输出:

示例 2 : 这次我们将只突出显示某些指定列中的单元格。

# function definition
def highlight_cols(s):
    return 'background-color: % s' % 'yellow'

# highlighting the cells
display(df.style.applymap(highlight_cols, 
                          subset = pd.IndexSlice[:, ['B', 'C']]))

输出:

借助索引突出显示特定的列:

Python 3

df.style.applymap(highlight_cols, subset = pd.IndexSlice[:, ['B', 'C']])