2015-12-18 28 views
7

Come si aggiunge un frame dati a un altro, simile a o R rbind di SQL?Telegrammi riga Julia

Suppongo di avere i frame di dati A e B definiti come segue.

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

Un modo per avvicinarsi a questo potrebbe essere il seguente:

C = deepcopy(A) 

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

Anche se questo funziona, ci si sente un po 'hacky per me. C'è un modo migliore o più idiomatico per fare questo?

+0

Ispirato dalla risposta di Reza, una versione più dettagliata equivalente è 'VCAT (A, B)' –

risposta

5

Array concatenazione [A;B] è il modo più semplice per aggiungere righe di un DataFrame ad un altro:

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

Questo è perfetto, Grazie! Per curiosità, sai se questo è documentato da qualche parte? Funziona alla grande ma non riesco a trovarlo nei documenti DataFrame. –

+0

Inserendo '? DataFrame' in REPL, verrà stampato un elenco di metodi utili per' DataFrame'. –