Julia DataFrames ---- missing 值处理方式

1 功能概要

在处理表格数据的时候,很多字段值都是空的,这时候 Julia 一般把空值 用missing 来表示,并且很多Julia的函数都会默认处理missing值。下面会列举一些处理方式。

 

2代码示例

using DataFrames, CSV, Statistics,Tables

# 創建DataFrame方式
#通過讀取CSV文件
iris = DataFrame(CSV.File(joinpath(dirname(pathof(DataFrames)),
"C:/D/Julia/DataFrames/DataFrames.jl/docs/src/assets/iris.csv")));
permutedims([1, 2, 3])

x = [1, 2, missing, 3]
x -> x([1,2])
show(x -> x([1,2]))
map(x -> x(missing), [sin, cos, zero, sqrt]) # part 1
map(x -> x([1,2]), [minimum, maximum, extrema, mean, float]) # part 3
map(x -> x(missing), [sin, cos, zero, sqrt]) # part 1

collect(skipmissing(x))

# 必须过滤掉 missing,以下函数才能使用(`sum`, `prod`,`minimum`, `maximum`, `mean`, `var`, `std`, `first`, `last` and `length`)
map(x -> x(iris.PetalLength) ,[minimum, maximum, extrema, mean, float,prod,length],) # part 3
map(x -> x(collect(skipmissing(iris.PetalLength))) ,[minimum, maximum, extrema, mean, float,prod,length],) # part 3

# 把missing替换成其他值
df = DataFrame(a=[1,2,missing], b=["a", "b", missing])
replace([1.0, missing, 2.0, missing], missing=>NaN)
replace!([1.0, missing, 2.0, missing], missing=>NaN)
replace!(df.a, missing=>100)
coalesce.([1.0, missing, 2.0, missing], NaN)
df.b = coalesce.(df.b, 100)

#根据默认值输出,missing作为一个独立的类型处理,
recode([1.0, missing, 2.0, missing], false, missing=>1)
recode([1.0, missing, 2.0, missing], false, missing=>true)

#取唯一值,unique包含missing,levels会去掉missing
unique([1, missing, 2, missing,2])
levels([1, missing, 2, missing,2])

#是否允许missing,如果有,disallowmissing函数会报异常
x = [1,2,3,missing]
y = allowmissing(x)
z = disallowmissing(y)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

October-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值