You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python制作类似Excel的Pandas Dataframe热力图表格?

实现Excel风格的Pandas Dataframe热力图

要做出和Excel色阶效果一致的热力图,用Pandas自带的Styler工具最直接,完全不需要额外可视化库,效果和你想要的Excel风格高度匹配。

核心实现代码

先准备示例数据:

import pandas as pd
import numpy as np

# 生成示例DataFrame
df = pd.DataFrame(np.random.randn(5, 5), 
                  columns=['A', 'B', 'C', 'D', 'E'],
                  index=['Row1', 'Row2', 'Row3', 'Row4', 'Row5'])

然后应用Excel风格的色阶热力图样式:

# 应用背景渐变色阶,模拟Excel效果
styled_df = df.style.background_gradient(
    cmap='RdYlGn',  # 红黄绿渐变,和Excel默认色阶一致
    low=0.2, high=0.8,  # 调整颜色渐变范围,避免极值占满色阶
    axis=None  # 基于全局数值计算色阶,对应Excel"全部数据"规则
).set_table_styles([
    # 添加表格边框,还原Excel的单元格分隔线
    {'selector': 'table', 'props': [('border-collapse', 'collapse')]},
    {'selector': 'th, td', 'props': [('border', '1px solid #ccc')]}
]).set_caption("Excel风格热力图")

# Jupyter环境直接运行即可显示样式化后的表格
styled_df

额外功能

  • 导出到Excel:直接生成带热力图的Excel文件,打开后还能继续调整色阶参数:
    styled_df.to_excel('excel_style_heatmap.xlsx', engine='openpyxl')
    
  • 保存为图片:先导出为HTML,再用imgkit转换为图片格式:
    import imgkit
    styled_df.to_html('heatmap.html')
    imgkit.from_file('heatmap.html', 'heatmap.png')
    

关键参数说明

  • cmap:指定颜色映射,除了RdYlGn,还可使用Blues、Greens等Matplotlib兼容的配色。
  • axis:设置色阶计算范围,axis=None为全局计算,axis=0按列计算,axis=1按行计算,对应Excel的"按列/按行"规则。
  • low/high:控制颜色渐变的起始和结束阈值,避免极端值导致大部分单元格颜色相近。

内容的提问来源于stack exchange,提问作者nickbagley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:22:49