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

如何将pandas dataframe以按数值着色的网格表格形式展示

实现方案

你可以直接用seaborn.heatmap实现需求,这是最简便的方式,刚好匹配你要的数值映射蓝色深浅的网格展示效果。

首先导入依赖、构造示例DataFrame:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 构造你给出的示例DataFrame
data = {month: [4.34, 3.34, 5.34, 2.39, 3.93, 4.32] for month in ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']}
df = pd.DataFrame(data, index=[2020, 2018, 2018, 2017, 2016, 2015])
df.index.name = 'year'

核心绘图代码如下:

plt.figure(figsize=(12, 6))
# cmap指定为蓝色系Blues,天然满足数值越高蓝色越深的规则
# annot=True显示单元格内的数值,fmt指定数值保留两位小数,linewidths设置单元格间隔线
ax = sns.heatmap(df, cmap='Blues', annot=True, fmt='.2f', linewidths=0.5)
# 调整x轴标签显示在顶部,和常规表格展示逻辑一致
ax.xaxis.tick_top()
ax.xaxis.set_label_position('top')
plt.ylabel('year')
plt.show()

如果不想额外安装seaborn,且只需要在Jupyter等支持HTML渲染的环境下展示,可以直接用pandas自带的样式功能:

df.style.background_gradient(cmap='Blues')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:36:02