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

使用CSV.read读取CSV文件时,如何将NA识别为missing值?

解决CSV.read()识别NA为missing值的问题

这个问题在Julia处理CSV数据时挺常见的——默认情况下CSV包不会把"NA"自动解析成missing,才会导致含NA的列被识别成字符串类型。你只需要在读取时指定missingstrings参数就能轻松搞定:

using CSV, DataFrames

# 读取文件时指定"NA"为缺失值标记
df = CSV.read("dax.dat"; missingstrings=["NA"])

补充细节:

  • missingstrings=["NA"]的作用是告诉CSV包:当遇到字符串"NA"时,直接替换为Julia原生的missing值。
  • 这样处理后,原本带NA的数值列会被正确推断为Union{<:Number, Missing}类型,不会再被当成字符串列。
  • 如果你的数据集里还有其他缺失值标记(比如"na"、空字符串""、"N/A"),可以把它们都加到参数数组里:missingstrings=["NA", "na", "", "N/A"]

你可以用eltype(df[:, :目标列名])验证效果,正常情况下会看到包含Missing的联合类型,说明缺失值已经被正确识别啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:14:35