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

data-forge-js处理含缺失值CSV时parseFloats返回空DataFrame如何解决

问题原因

你遇到的问题是parseFloats默认采用严格转换规则,遇到空字符串这类无法解析为浮点数的内容时,会直接转换失败返回空DataFrame,和你推测的缺失值导致的问题完全一致。

解决方法

方法1:开启强制转换,空值自动填充NaN

直接给parseFloats方法传入第二个配置参数,开启强制转换规则,无法解析的内容会自动转为NaN,不需要额外手动处理:

const stringDF = dataForge.fromCSV(csvData);
const parsedDF = stringDF.parseFloats(stringDF.getColumnNames(), { coerce: true });

方法2:自定义占位值

如果你不想用NaN作为占位值,需要指定其他默认值(比如0、-1等),可以手动遍历每一列做转换:

const stringDF = dataForge.fromCSV(csvData);
const parsedDF = stringDF
  .getColumns()
  .reduce((acc, column) => {
    // 空字符串替换为自定义占位值,其他内容正常转浮点数
    const parsedCol = column
      .select(val => val.trim() === '' ? 0 : parseFloat(val)) // 这里的0可以替换为你需要的任意占位值
      .rename(column.name);
    return acc.withSeries(column.name, parsedCol);
  }, new dataForge.DataFrame());

验证结果

处理完成后可以调用parsedDF.toString()打印整个DataFrame,确认缺失值位置已经填充为你设置的占位值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:15:06