使用 applymap() 突出显示 Pandas DataFrame 的特定列
让我们看看如何突出显示 Pandas DataFrame 的元素和特定列。我们可以使用 Styler 类的applymap()
函数来做到这一点。
Styler.applymap()
Syntax : Styler.applymap(self, func, subset = None, **kwargs)
Parameters :
- func : takes a scalar and returns a scalar.
- subset : valid indexer to limit data to before applying the function.
- **kwargs : dict pass along to func.
Returns : Styler
让我们通过例子来理解:
首先创建一个简单的数据框:
# 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']])
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。