2016-04-22 159 views
2

我在Julia有两个数组,X = Array {Float64,2}和Y = Array {Float64,2}。我想按照Excel功能执行一次vlookup。我似乎无法找到像这样的东西。在Julia的Excel vlookup

+1

您可以尝试在Julia中使用许多查找函数的组合:http://docs.julialang.org/en/release-0.4/stdlib/arrays/?highlight=find#Base.find – amrods

回答

2

下面的代码返回从使用来自主矩阵的相关记录的s细节矩阵中首先匹配的代码。

function vlook(master, detail, val) 
    val = master[findfirst(x->x==val,master[:,2]),1] 
    return detail[findfirst(x->x==val,detail[:,1]),2] 
end 

enter image description here

julia> vlook(a,b,103) 
1005 

一个更普遍的方法是使用DataFrame.jl,对于表格数据的工作。

+2

为什么不定义它使用'function'? –

+0

@FelipeLema,我做到了。 –

+0

谢谢,但假设我想匹配一个值,当vlookup真正做的是匹配列中的所有值(我不必指定一个值),假设有匹配。 – lara