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

Plotly.express如何读取Pandas多级索引列绘制带误差棒的散点图

方法1:直接传入对应列的Series(无需修改原DataFrame结构)

Plotly Express的坐标、误差列参数除了接受字符串类型的列名外,也支持直接传入Pandas Series对象。你不需要调整mean_df的多级列结构,直接按多级索引取对应列传入即可:

fig = px.scatter(
    mean_df,
    x = mean_df[('x', 'mean')],
    y = mean_df[('y', 'mean')],
    error_y = mean_df[('y', 'std')],
)
fig.show()

你之前直接传元组('x','mean')失效的原因是Plotly Express默认只会将字符串类型的参数解析为DataFrame的列名,元组类型无法自动匹配到多级列索引。

方法2:规范展平多级列(工程常用处理方式)

如果后续需要频繁用到聚合后的统计值,将多级列展平为单级是非常常规的操作,不会额外增加冗余成本,更推荐用下划线替代空格命名,避免后续调用时还要加引号的麻烦:

# 展平列名,格式为「原列名_统计指标」
mean_df.columns = [f"{col[0]}_{col[1]}" for col in mean_df.columns]
# 后续调用更简洁
fig = px.scatter(
    mean_df,
    x = 'x_mean',
    y = 'y_mean',
    error_y = 'y_std',
)
fig.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:01