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

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

当使用Pandas DataFrame进行表示或解释一些事实和数据时,我们可能需要突出显示给定数据的重要行和列,以使它们更具吸引力、更易于理解和更具视觉效果。使用内置的applymap()方法是一种突出显示Pandas DataFrame的特定列的方式。

使用applymap()方法突出显示Pandas DataFrame的Python程序

为了正确理解代码,我们需要讨论Pandas和applymap()的基础知识:

Pandas

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)

输出

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

示例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)

输出

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

示例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)

输出

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

结论

我们通过介绍问题陈述开始了本文,即突出Pandas Dataframe的特定列。然后,我们讨论了一种可能的解决方案,即利用内置的方法applymap(),并提供了三个不同的示例来理解其用法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程