📜  使用 applymap() 突出显示 Pandas DataFrame 的特定列

📅  最后修改于: 2022-05-13 01:55:47.765000             🧑  作者: Mango

使用 applymap() 突出显示 Pandas DataFrame 的特定列

让我们看看如何突出显示 Pandas DataFrame 的元素和特定列。我们可以使用 Styler 类的applymap()函数来做到这一点。

Styler.applymap()

让我们通过例子来理解:

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

# 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:对于 DataFrame 中的每个单元格,如果值小于 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']]))

输出 :

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

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