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

伦敦水库水位数据处理:lower_thames_group转float失败求助

伦敦水库水位数据类型转换与绘图报错解决

问题情况

  • 导入水库水位数据后,lower_lee_group列(float类型)能正常绘制图表,但lower_thames_group列(object类型)绘图时提示:

    "no numerical data to plot"

  • 尝试用df4['lower_thames_group'] = df4['lower_thames_group'].astype(float)转换类型时,报错:

    ValueError: could not convert string to float: '---'

  • 数据总计有5个NA值,分布在上述两个列中

解决方法

1. 读取数据时识别特殊缺失值

问题根源是lower_thames_group列里存在'---'字符串,读取时未被识别为缺失值,导致列类型为object。读取CSV时直接指定na_values参数,把'---'转为NA:

import pandas as pd
df4 = pd.read_csv("london_reservoir_levels.csv", na_values='---')

2. 确认数据类型

执行以下代码验证列类型,此时lower_thames_group会自动变为float64类型:

df4.dtypes

3. 处理缺失值(按需操作)

如果绘图需要完整数据,可选择填充或删除缺失值:

  • 用均值填充缺失值:
df4['lower_thames_group'] = df4['lower_thames_group'].fillna(df4['lower_thames_group'].mean())
  • 删除包含缺失值的行:
df4 = df4.dropna(subset=['lower_thames_group'])

4. 重新绘制图表

现在可以正常绘制lower_thames_group的图表:

df4.plot(x = "month", y = "lower_thames_group")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:21:01