使用 applymap() 方法突出显示 Pandas DataFrame 的特定列
在使用 Pandas DataFrame 展示或解释一些事实和数据时,我们可能需要突出显示给定数据中重要的行和列,这有助于使它们更具吸引力、更容易理解和视觉效果更佳。突出显示 Pandas DataFrame 的特定列的一种方法是使用内置方法 applymap()。
使用 applymap() 方法突出显示 Pandas DataFrame 的 Python 程序
为了正确理解代码,我们需要讨论 Pandas 和 applymap() 的基础知识。
Pandas
这是一个开源的 Python 库,主要用于数据分析和处理。它可以通过对指定数据执行各种操作(例如清洗、过滤、分组、聚合和合并)来处理关系数据和带标签的数据。
applymap() 方法
它用于对整个 Pandas DataFrame 以元素级的方式应用用户定义的方法。要突出显示特定列,我们首先需要定义一个自定义方法,该方法定义突出显示列所需的条件,然后我们使用 applymap() 方法以及 style 模块来执行操作。
语法
style.applymap(nameOfMethod)
示例 1
以下示例演示了如何使用 applymap() 方法突出显示 Pandas DataFrame 中的特定列。
方法
首先,导入 Pandas 库以便我们可以使用 DataFrame。
创建一个用户定义的方法,该方法以 'value' 作为参数并返回背景颜色。此方法将检查值是否可被 2 整除。如果是,则将颜色设置为蓝色;如果值可被 3 整除,则将颜色设置为橙色;否则,颜色将保持为空。
创建一个包含名为 'Number' 的单个列和一些值的 DataFrame。
然后,使用 'applymap()' 调用 'highlight_columns()' 方法来突出显示指定的列,然后显示突出显示的列。
import pandas as pd
# a user-defined method to highlight the data
def highlight_columns(value):
color = ''
if value % 2 == 0:
color = 'background-color: blue'
elif value % 3 == 0:
color = 'background-color: orange'
return color
# Creating a sample DataFrame using pandas
data = {'Number': [12, 15, 18, 21, 24]}
df = pd.DataFrame(data)
# Uisng highlight_columns() method to the 'Number' column
highlighted_df = df.style.applymap(highlight_columns)
# to show the columns
display(highlighted_df)
输出

示例 2
在以下示例中,我们将根据给定条件突出显示列的特定数据。
方法
创建一个用户定义的方法,该方法以 'value' 作为参数并返回背景颜色。此方法将检查值是否大于 50。如果是,则颜色将设置为黑色;否则,颜色将保持为空。
创建一个名为 'data' 的字典,其中包含三个键:'Name'、'Age' 和 'Score'。每个键都与其关联的列表作为值。
然后,使用 'applymap()' 调用 'highlight_columns()' 方法来突出显示指定的列,然后使用名为 'display()' 的内置方法显示列的突出显示数据。此方法将仅应用于 DataFrame 的 'Age' 和 'Score' 列。
import pandas as pd
# a user-defined method to highlight the data
def highlight_columns(value):
color = 'background-color: black' if value > 50 else ''
return color
# Creating a sample DataFrame using pandas
data = {'Name': ['Ram', 'Shyam', 'Shrey'],
'Age': [35, 42, 28],
'Score': [75, 60, 90] }
df = pd.DataFrame(data)
# Uisng highlight_columns() method to the 'Age' and 'Score' columns
highlighted_df = df[['Age', 'Score']].style.applymap(highlight_columns)
# to show the columns
display(highlighted_df)
输出

示例 3
在以下示例中,我们将使用 applymap() 方法突出显示所有三个列。为此,我们只需要将 'color' 变量设置为 'black',而无需像在之前的示例中那样指定任何条件。
import pandas as pd
# a user-defined method to highlight the data
def highlight_columns(value):
color = 'background-color: black'
return color
# Creating a sample DataFrame using pandas
data = {'Name': ['Ram', 'Shyam', 'Shrey'],
'Age': [35, 42, 28],
'Score': [75, 60, 90]}
df = pd.DataFrame(data)
# Uisng highlight_columns() method to the 'Age' and 'Score' columns
highlighted_df = df[['Name', 'Age', 'Score']].style.applymap(highlight_columns)
# to show the columns
display(highlighted_df)
输出

结论
我们从介绍问题陈述开始本文,即突出显示 Pandas DataFrame 的特定列。然后,我们讨论了一种可能的解决方案,即利用内置方法 applymap(),并提供了三个不同的示例来理解其用法。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP