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

使用Plotly Express绘制通胀数据树形图遇问题求助

Plotly Express树形图父级/层级数据处理报错解决方案

使用Plotly Express绘制通胀数据树形图时,因父级与层级数据处理不当持续报错,相关代码如下:

import pandas as pd
import plotly.express as px

# Read the data from the Excel file
df = pd.read_excel('UKCPI2.xlsx', engine='openpyxl')

# Create the treemap with the filtered data
fig = px.treemap(df, path=['parent', 'Series'], values='Contrib') # Ensure 'contrib' is the correct column name for your values
fig.show()

数据格式参考下图:
数据格式展示

问题排查与修正方案

  1. 处理父级列空值
    从数据截图可见,顶级节点的parent列存在空值,Plotly Express要求顶级节点的父级值必须为空字符串或None。pandas读取Excel空单元格时会转为NaN,需手动替换:
df['parent'] = df['parent'].fillna('')
  1. 校验列名一致性
    确认Contrib列名与数据中完全匹配(pandas列名区分大小写),若列名有误需同步修改代码中的参数。

  2. 验证层级逻辑正确性
    确保子节点的parent值必须对应数据中存在的Series值,避免出现父级节点不存在的情况。

修正后的完整代码

import pandas as pd
import plotly.express as px

# 读取Excel数据
df = pd.read_excel('UKCPI2.xlsx', engine='openpyxl')

# 处理父级列空值,适配Plotly树形图要求
df['parent'] = df['parent'].fillna('')

# 校验关键列是否存在
if 'Contrib' not in df.columns:
    raise ValueError("数据中未找到'Contrib'列,请检查列名拼写")

# 生成树形图
fig = px.treemap(df, path=['parent', 'Series'], values='Contrib')
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:48:12