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

Plotly Express绘制3D散点图列名不匹配报错排查

问题根因

你的判断完全准确,报错由CSV分隔符不匹配直接导致:

  • pd.read_csv()默认以英文逗号,作为列分隔符解析文件
  • 你的CSV文件实际用分号;分隔列,导致pandas把整行所有字段识别成1个单列,列名就是拼接后的字符串Samples;FSI;GSI;OSR,自然无法匹配你传入的OSR/GSI/FSI/Samples这些独立列名。
修复方法

修改CSV读取代码,显式指定分隔符参数即可,修正后的完整可运行代码如下:

import pandas as pd
import plotly.express as px
import plotly.io as pio

# 增加sep参数指定分号为列分隔符
df = pd.read_csv(
    '/Users/alissanicolet./Desktop/QGIS_Thesis/pythongraph.csv',
    sep=';'
)

# 可选验证步骤:打印列名确认解析结果,正常会输出['Samples', 'FSI', 'GSI', 'OSR']四个独立列
print(df.columns)

fig = px.scatter_3d(
    data_frame=df,
    x='OSR',
    y='GSI',
    z='FSI',
    color="Samples",
    color_discrete_sequence=['magenta','green','blue'],
    template='ggplot2',
    title='Spacematrix of Sample Areas',
    hover_name='Samples',
    height=700,
)

pio.show(fig)
补充说明

如果运行后仍然存在列解析异常,可以先打开CSV文件确认实际分隔符:大部分欧洲地区导出的CSV默认用分号做列分隔、逗号做小数分隔符,这类文件都需要显式给pd.read_csv()传入sep=';'参数才能正常解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 09:15:39