Ich habe zwei Arrays in Julia, X = Array {Float64,2} und Y = Array {Float64,2}. Ich möchte ein vlookup wie Excel-Funktionalität durchführen. Ich kann so etwas nicht finden.Excel vlookup in Julia
Antwort
Der folgende Code gibt die erste Übereinstimmung aus s details matrix zurück, die den zugehörigen Datensatz aus einer Mastermatrix verwendet.
function vlook(master, detail, val)
val = master[findfirst(x->x==val,master[:,2]),1]
return detail[findfirst(x->x==val,detail[:,1]),2]
end
julia> vlook(a,b,103)
1005
Ein allgemeinerer Ansatz ist DataFrame.jl zu verwenden, mit Tabellendaten zu arbeiten.
warum nicht definieren mit 'Funktion'? –
@FelipeLema, tat ich. –
Danke, aber das setzt voraus, dass ich versuche, einen einzelnen Wert zu vergleichen, wenn das, was vlookup wirklich tut, mit allen Werten in einer Spalte übereinstimmt (ich muss keinen Wert angeben), vorausgesetzt es gibt eine Übereinstimmung. – lara
Sie können versuchen, eine Kombination der vielen Suchfunktionen in Julia zu verwenden: http://docs.julaulang.org/en/release-0.4/stdlib/arrays/?highlight=find#Base.find – amrods