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

Python绘制DataFrame图表无法识别数据类型报错如何解决?

错误原因
  • 库版本不兼容:这是该错误最高发的原因,通常为numpy版本过高,和当前安装的pandas、matplotlib版本不适配。比如使用numpy≥1.24版本时,配套的pandas版本低于1.5.3、或matplotlib版本低于3.6,就会触发dtype解析异常。
  • 数据类型异常:如果你近期对df做过数据清洗、拼接等操作,可能导致列的数据类型从标准数值型(float/int)转为object类的numpy泛型,绘图库无法识别该类型就会抛出错误。
修复方案
  1. 优先适配库版本
    首先查看当前三个依赖库的版本:
import numpy, pandas, matplotlib
print(numpy.__version__)
print(pandas.__version__)
print(matplotlib.__version__)

确认版本不兼容后,二选一执行适配操作:

  • 降级numpy到稳定兼容的1.23.5版本:
    pip install numpy==1.23.5
    若使用conda环境,执行:conda install numpy=1.23.5
  • 升级pandas和matplotlib到适配高版本numpy的最新版:
    pip install --upgrade pandas matplotlib
  1. 修正DataFrame数据类型
    如果版本适配后仍然报错,检查各列的数据类型:
    执行print(df.dtypes),如果存在非数值类型的列,执行强制类型转换:
import pandas as pd
# 所有列转为float64类型,无法转换的值设为NaN
for col in df.columns:
    df[col] = pd.to_numeric(df[col], errors='coerce')

额外说明:你代码中的rot=True参数写法不规范,rot参数需要传入整数代表标签旋转角度,旧版本会自动将True转为1避免报错,新版本可能会触发额外异常,建议改为你需要的数值,比如水平显示标签用rot=0,倾斜45度用rot=45。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:15:03