如何绘制数据集?调用plot.line()报错:no numeric data to plot
解决plot.line()报错"no numeric data to plot"的方案
第一步:确认数据类型
运行df.dtypes查看每一列的类型,排查本该是数值的列是否被识别成了object类型。第二步:清理数据中的非数值干扰字符
转数值失败往往是因为数据里藏着逗号、空格、货币符号这类冗余内容,比如"1,500"或者" $200 "。先针对性清理:# 示例:替换数值中的逗号 df['目标列名'] = df['目标列名'].str.replace(',', '') # 示例:移除$符号和前后空格 df['目标列名'] = df['目标列名'].str.replace('$', '').str.strip()第三步:强制转换数值类型并排查异常
用pd.to_numeric()转换,加上errors='coerce'把无法转换的内容转为NaN,方便定位问题行:df['目标列名'] = pd.to_numeric(df['目标列名'], errors='coerce')再运行
df.isna().sum()查看转换失败的行数,这些行大概率包含特殊字符或非数值内容。第四步:处理缺失值
根据需求处理生成的NaN,比如填充固定值或删除对应行:# 用0填充缺失值 df.fillna(0, inplace=True) # 或者删除含缺失值的行 df.dropna(subset=['目标列名'], inplace=True)第五步:重新尝试绘图
完成以上操作后,再运行df.plot.line()即可正常生成折线图。
内容的提问来源于stack exchange,提问作者van dam
相关产品推荐
相关产品推荐

