📅  最后修改于: 2023-12-03 15:41:16.065000             🧑  作者: Mango
在使用 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
参数指定了要应用条件格式化的列。
结果如下图所示:
可以看到,工资高于 6000 的员工的工资单元格被标记为红色。
条件格式化是 pandas 数据框中一个很有用的特性,可以帮助我们展示数据并让数据更加易于理解和分析。虽然 pandas 中的条件格式化不如 Excel 中的灵活,但在大多数场景下已经足够使用。