2015-12-18 3 views
7

Wie füge ich einen Datenrahmen an einen anderen, ähnlich wie SQL union oder R rbind?Zeilenbindung Julia Datenrahmen

Angenommen, ich habe die Datenrahmen A und B wie folgt definiert.

A = DataFrame(x = [1, 2, 3], y = [4, 5, 6]) 
B = DataFrame(x = [4, 5, 6], y = [7, 8, 9]) 

Eine Möglichkeit, dies zu nähern würde wie folgt aussehen:

C = deepcopy(A) 

for i = 1:size(B, 1) 
    push!(C, Array(B[i,:])) 
end 

Während dies funktioniert, fühlt es sich ein wenig zu mir Hacky. Gibt es einen besseren oder mehr idiomatischen Weg, dies zu tun?

+0

Inspiriert von Reza Antwort, eine äquivalente ausführlichere Version ist 'VCAT (A, B)' –

Antwort

5

Array Verkettung [A;B] ist die einfachste Art und Weise Reihen von einem DataFrame zu einem anderen hinzuzufügen:

julia> A = DataFrame(x = [1, 2, 3], y = [4, 5, 6]); 
julia> B = DataFrame(x = [4, 5, 6], y = [7, 8, 9]); 
julia> [A;B] 
6x2 DataFrames.DataFrame 
| Row | x | y | 
|-----|---|---| 
| 1 | 1 | 4 | 
| 2 | 2 | 5 | 
| 3 | 3 | 6 | 
| 4 | 4 | 7 | 
| 5 | 5 | 8 | 
| 6 | 6 | 9 | 
+1

Das ist perfekt, Vielen Dank! Aus Neugier, wissen Sie, ob das irgendwo dokumentiert ist? Es funktioniert gut, aber ich kann es nicht in den DataFrame-Dokumenten finden. –

+0

Durch Eingabe von '? DataFrame' in REPL wird eine Liste nützlicher Methoden für' DataFrame' ausgedruckt. –