如何在Julia中统计DataFrame各列的missing值数量?
Julia统计DataFrame各列缺失值数量
给定如下DataFrame:
using DataFrames df = DataFrame(i=1:5, x=[missing, 4, missing, 2, 1], y=[missing, missing, "c", "d", "e"])
需要统计每一列的missing值数量,预期结果为:i列0个,x列2个,y列2个。以下是几种实用实现方法:
方法1:遍历列统计(灵活自定义)
通过遍历DataFrame的每一列,用count(ismissing, col)统计缺失值数量,再关联列名得到结果:
# 统计每列缺失数 missing_counts = [count(ismissing, col) for col in eachcol(df)] # 绑定列名与结果 result = Dict(zip(names(df), missing_counts)) # 打印结果 println(result) # 输出:Dict(:i => 0, :x => 2, :y => 2)
方法2:用combine生成结果DataFrame
使用DataFrames包的combine函数,直接生成包含列名和对应缺失数的新DataFrame,适合后续数据处理:
missing_df = combine(df, names(df) .=> (col -> count(ismissing, col)) .=> :missing_count) # 查看结果 println(missing_df) # 输出: # 3×2 DataFrame # Row │ variable missing_count # │ Symbol Int64 # ─────┼──────────────────────── # 1 │ i 0 # 2 │ x 2 # 3 │ y 2
方法3:用describe快速查看缺失数
describe函数可以直接输出包含缺失值数量在内的列统计信息,适合快速核验:
describe(df, :nmissing) # 输出: # 3×2 DataFrame # Row │ variable nmissing # │ Symbol Int64 # ─────┼─────────────────── # 1 │ i 0 # 2 │ x 2 # 3 │ y 2
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

