在数据分析的世界里,Pandas不仅仅是数据处理的得力助手,它还拥有强大的表格样式设置功能,可以让你的数据分析报告更加生动、直观。通过对表格样式的调整,我们可以更好地突出关键数据,提高数据的可读性,从而使分析结果一目了然。
Pandas的DataFrame提供了.style 属性,它可以帮助我们对表格进行美化。我们可以调整字体、背景色、边框等,甚至可以应用条件格式化,让数据自己“说话”。
以下是一些常用的样式设置方法:
设置精度:使用 .style.format方法,我们可以设置表格中数字的显示精度。
条件格式化:
使用 .style.applymap方法,基于单元格的值改变样式,如根据值的高低改变字体颜色。
.style.apply方法可以在行或列的级别上应用样式。应用条形图:.style.bar方法可以在单元格内添加条形图,直观显示数值大小。高亮最大最小值:.style.highlight_max 和 .style.highlight_min 可以高亮显示每列的最大值和最小值。
自定义样式函数:创建自定义样式函数,为满足特定条件的单元格设置特定样式。style模块提供了不同的选项来修改数据的外观,允许我们自定义以下方面:
给单元格着色:根据单元格值或条件应用不同的颜色。
突出显示:强调特定的行、列或值。
格式:调整显示值的格式,包括精度和对齐方式。
条形图:在单元格内用水平或垂直条形图表示数据。
下面,本篇主要讲一下应用条形图的实例展示:比如:你有一个100名学生的学习成绩的 DataFrame,通过以下几行代码生成的:
import pandas as pdimport numpy as np # 设置随机数种子,以便结果可复现np.random.seed(0) # 创建一个包含100名学生的DataFrame# 生成数据students = pd.DataFrame({ '学号': np.arange(1, 101), '语文': np.random.randint(50, 100, 100), '数学': np.random.randint(50, 100, 100), '英语': np.random.randint(50, 100, 100), '物理': np.random.randint(50, 100, 100), '化学': np.random.randint(50, 100, 100), '生物': np.random.randint(50, 100, 100), '历史': np.random.randint(50, 100, 100), '地理': np.random.randint(50, 100, 100)})
styled_df1 = students.style.bar(color='#FFCFC9',subset=['语文','数学','英语']).bar(color='#FFF1B0',subset=['物理','化学','生物']).bar(color='#BEEAE5',subset=['历史','地理'])
运行效果为:
注意:这个应用条形图的样式是不能保存到Excel中的,这点确实有点让人出乎意料。
styled_df1.to_excel('1111.xlsx', engine='openpyxl', index=False)
这个语句是不能将样式保存到Excel中的
后面,我们将逐一讲述.style中的自定义样式函数,请大家持续关注