小编dat*_*fig的帖子

Julia DataFrames.jl - 使用NA过滤数据(NAException)

我不知道如何NA在Julia DataFrames中处理.

例如,使用以下DataFrame:

> import DataFrames
> a = DataFrames.@data([1, 2, 3, 4, 5]);
> b = DataFrames.@data([3, 4, 5, 6, NA]);
> ndf = DataFrames.DataFrame(a=a, b=b)
Run Code Online (Sandbox Code Playgroud)

我可以在列上成功执行以下操作 :a

> ndf[ndf[:a] .== 4, :]
Run Code Online (Sandbox Code Playgroud)

但如果我尝试相同的操作,:b我会收到错误NAException("cannot index an array with a DataArray containing NA values").

> ndf[ndf[:b] .== 4, :]

NAException("cannot index an array with a DataArray containing NA values")
while loading In[108], in expression starting on line 1

in to_index at /Users/abisen/.julia/v0.3/DataArrays/src/indexing.jl:85
in getindex …
Run Code Online (Sandbox Code Playgroud)

julia

6
推荐指数
1
解决办法
956
查看次数

具有多个调度的Array数组的Julia参数函数

我正在尝试编写两个具有相同名称的函数,这些函数可以使用Julia的多个调度工具并涉及数组的数组和数组.

假设有这三个输入变量

# typeof(a) => Array{Array{T,N},1}
a=Array[[1,2,3],[4,5,6]]

# typeof(b) => Array{Int64,1}
b=[1,2,3]

# typeof(c) => Array{Array{Float64,1},1}
c=[rand(10) for i in 1:2]
Run Code Online (Sandbox Code Playgroud)

我写这两个函数

function test(x::Array{Array})
    println("received an array of array => $(typeof(x))")
end

function test{T<:Number}(x::Array{T,1})
    println("received a vector. converting.....")
    nx = Array[x]
    test(nx)
end
Run Code Online (Sandbox Code Playgroud)

以上方法适用于ab,但不会c.

test(a)
# received an array of array => Array{Array{T,N},1}

test(b)
# received a vector. converting.....
# received an array of array => Array{Array{T,N},1}

test(c)
# LoadError: MethodError: `test` has no …
Run Code Online (Sandbox Code Playgroud)

arrays julia

5
推荐指数
1
解决办法
195
查看次数

标签 统计

julia ×2

arrays ×1