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

使用Plotly Express绘制马萨诸塞州事故地图时遇类型拼接错误

问题原因与修复方案

错误的核心原因是你用了dtype = object强制把所有列都转换成了字符串类型,但Plotly绘制地图时,经度(LON)、纬度(LAT)必须是数值类型,同时用于颜色映射的NUMB_FATAL_INJR和控制标记大小的NUMB_VEHC也需要是数值,字符串类型会触发类型运算错误。

修复步骤

方案1:移除全局字符串强制转换(推荐)

直接去掉pd.read_csv里的dtype = object参数,让pandas自动推断列的正确类型:

import plotly.express as px 
import pandas as pd 

# 移除dtype=object,让pandas自动推断列类型
data = pd.read_csv("2023_Crashes.csv", on_bad_lines='warn')
fig = px.scatter_mapbox(data,
    lon='LON',   
    lat='LAT',    
    zoom=10,
    color='NUMB_FATAL_INJR',   
    size='NUMB_VEHC',    
    width=1200,   
    height=900,    
    title='Car Accidents'    
)
# 别忘了显示图表
fig.show()

方案2:手动指定列类型(如果需要保留部分列的字符串类型)

如果你的数据里有其他列必须是字符串,单独指定这些列的类型,而全局不设置dtype=object:

import plotly.express as px 
import pandas as pd 

# 只把需要保留字符串的列指定为object,数值列让pandas自动推断
# 比如假设"ACCIDENT_ID"是字符串列,其他列自动推断
data = pd.read_csv("2023_Crashes.csv", on_bad_lines='warn', dtype={"ACCIDENT_ID": object})
fig = px.scatter_mapbox(data,
    lon='LON',   
    lat='LAT',    
    zoom=10,
    color='NUMB_FATAL_INJR',   
    size='NUMB_VEHC',    
    width=1200,   
    height=900,    
    title='Car Accidents'    
)
fig.show()

方案3:处理脏数据(如果坐标列存在非数值内容)

如果你的LON/LAT列里混有非数值字符串,需要先清洗转换:

import plotly.express as px 
import pandas as pd 

data = pd.read_csv("2023_Crashes.csv", on_bad_lines='warn')
# 转换LON和LAT为数值,无法转换的设为NaN并删除对应行
data['LON'] = pd.to_numeric(data['LON'], errors='coerce')
data['LAT'] = pd.to_numeric(data['LAT'], errors='coerce')
data = data.dropna(subset=['LON', 'LAT'])

# 同样处理颜色和大小的列
data['NUMB_FATAL_INJR'] = pd.to_numeric(data['NUMB_FATAL_INJR'], errors='coerce')
data['NUMB_VEHC'] = pd.to_numeric(data['NUMB_VEHC'], errors='coerce')

fig = px.scatter_mapbox(data,
    lon='LON',   
    lat='LAT',    
    zoom=10,
    color='NUMB_FATAL_INJR',   
    size='NUMB_VEHC',    
    width=1200,   
    height=900,    
    title='Car Accidents'    
)
fig.show()

另外,代码里可以直接用列名字符串(比如lon='LON')代替data['LON'],写法更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:40:59