2016-04-22 82 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