diff --git a/src/dataframe/dataframe.jl b/src/dataframe/dataframe.jl index 47c277e572..1773db0174 100644 --- a/src/dataframe/dataframe.jl +++ b/src/dataframe/dataframe.jl @@ -1012,6 +1012,7 @@ function Base.push!(df::DataFrame, dict::AbstractDict) end i += 1 end + df end # array and tuple like collections @@ -1034,4 +1035,5 @@ function Base.push!(df::DataFrame, iterable::Any) end i += 1 end + df end diff --git a/test/dataframe.jl b/test/dataframe.jl index 58483c656c..3170d1c7ab 100644 --- a/test/dataframe.jl +++ b/test/dataframe.jl @@ -261,6 +261,14 @@ module TestDataFrame dfb=DataFrame( first=["1","2","3"], second=["apple","orange","pear"] ) @test_throws ArgumentError push!(dfb, Dict(:first=>"chicken", :second=>1)) @test df0 == dfb + + df = DataFrame(x=1) + push!(df, Dict(:x=>2), Dict(:x=>3)) + @test df[:x] == [1,2,3] + + df = DataFrame(x=1, y=2) + push!(df, [3, 4], [5, 6]) + @test df[:x] == [1, 3, 5] && df[:y] == [2, 4, 6] end # delete!