📜  给单元格格式以条件 pandas 数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:41:16.065000             🧑  作者: Mango

给单元格格式以条件 pandas 数据框 - Python

在使用 pandas 数据框进行数据分析时,常常需要对表格中的数据进行格式化,以便更好地呈现数据和结果。在 pandas 中,可以通过条件格式化对单元格进行格式化。

使用条件格式化

条件格式化可以根据条件对单元格进行格式化,可以根据颜色、字体样式、对齐方式等对单元格进行格式化。有了条件格式化,不仅可以让数据更加美观,而且可以使数据更加易于理解和分析。

下面是一个例子,演示如何使用条件格式化。假设我们有一个工资表格,其中包含员工的姓名、工资和年龄,我们想要通过条件格式化来展示员工的信息。要实现这个功能,我们可以使用 pandas 自带的 style 属性进行条件格式化。

首先,创建一个数据框:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'salary': [5000, 8000, 6000, 4000, 7000],
        'age': [23, 32, 28, 19, 26]}

df = pd.DataFrame(data)

接着,定义一个函数来根据条件对单元格进行格式化:

def highlight_salary(s):
    if s > 6000:
        return 'color: red'
    else:
        return ''

该函数接收一个参数 s,代表单元格的值,如果该值大于 6000,则返回 'color: red',否则返回空字符串。

最后,使用 style 属性来应用条件格式化:

df.style.applymap(highlight_salary, subset=['salary'])

这里使用了 applymap() 方法,它可以将函数应用于数据框中的每个单元格。subset 参数指定了要应用条件格式化的列。

结果如下图所示:

conditional_formatting.png

可以看到,工资高于 6000 的员工的工资单元格被标记为红色。

总结

条件格式化是 pandas 数据框中一个很有用的特性,可以帮助我们展示数据并让数据更加易于理解和分析。虽然 pandas 中的条件格式化不如 Excel 中的灵活,但在大多数场景下已经足够使用。