Skip to content

Commit

Permalink
Merge d886758 into 024f498
Browse files Browse the repository at this point in the history
  • Loading branch information
tkelman committed Jul 13, 2017
2 parents 024f498 + d886758 commit b415bf7
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 10 deletions.
5 changes: 2 additions & 3 deletions src/DataFramesMeta.jl
Expand Up @@ -4,7 +4,6 @@ using DataFrames

# Basics:
export @with, @ix, @where, @orderby, @transform, @by, @based_on, @select
export where, orderby, transform

include("compositedataframe.jl")
include("linqmacro.jl")
Expand Down Expand Up @@ -296,7 +295,7 @@ end
##
##############################################################################

Base.select(d::AbstractDataFrame, arg) = d[arg]
select(d::AbstractDataFrame, arg) = d[arg]


##############################################################################
Expand Down Expand Up @@ -622,7 +621,7 @@ end
##
##############################################################################

function Base.select(d::Union{AbstractDataFrame, Associative}; kwargs...)
function select(d::Union{AbstractDataFrame, Associative}; kwargs...)
result = typeof(d)()
for (k, v) in kwargs
result[k] = v
Expand Down
2 changes: 1 addition & 1 deletion src/compositedataframe.jl
Expand Up @@ -195,6 +195,6 @@ transform(d::AbstractCompositeDataFrame; kwargs...) =
CompositeDataFrame(Any[DataFrames.columns(d)..., [ isa(v, Function) ? v(d) : v for (k,v) in kwargs ]...],
Symbol[names(d)..., [ k for (k,v) in kwargs ]...])

Base.select(d::AbstractCompositeDataFrame; kwargs...) =
select(d::AbstractCompositeDataFrame; kwargs...) =
CompositeDataFrame(Any[ v for (k,v) in kwargs ],
Symbol[ k for (k,v) in kwargs ])
6 changes: 3 additions & 3 deletions test/dataframes.jl
Expand Up @@ -30,7 +30,7 @@ idx2 = :B
@test @with(df, df[:A .> 1, ^([:B, :A])]) == df[df[:A] .> 1, [:B, :A]]
@test @with(df, DataFrame(a = :A * 2, b = :A + :B)) == DataFrame(a = df[:A] * 2, b = df[:A] + df[:B])

@test where(df, 1) == df[1, :]
@test DataFramesMeta.where(df, 1) == df[1, :]

@test @where(df, :A .> 1) == df[df[:A] .> 1,:]
@test @where(df, :B .> 1) == df[df[:B] .> 1,:]
Expand All @@ -40,9 +40,9 @@ idx2 = :B
@test @where(df, :A .> 1, :B .> 1) == df[map(&, df[:A] .> 1, df[:B] .> 1),:]
@test @where(df, :A .> 1, :A .< 4, :B .> 1) == df[map(&, df[:A] .> 1, df[:A] .< 4, df[:B] .> 1),:]

@test select(df, :A) == df[:A]
@test DataFramesMeta.select(df, :A) == df[:A]

@test orderby(df, df[[1, 3, 2], :]) == df[[1, 3, 2], :]
@test DataFramesMeta.orderby(df, df[[1, 3, 2], :]) == df[[1, 3, 2], :]

@test @byrow!(df, if :A > :B; :A = 0 end) == DataFrame(A = [1, 0, 0], B = [2, 1, 2])
@test df == DataFrame(A = [1, 0, 0], B = [2, 1, 2])
Expand Down
6 changes: 3 additions & 3 deletions test/grouping.jl
Expand Up @@ -9,11 +9,11 @@ using DataFramesMeta
d = DataFrame(n = 1:20, x = [3, 3, 3, 3, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 3, 1, 1, 2])
g = groupby(d, :x)

@test @where(d, :x .== 3) == where(d, x -> x[:x] .== 3)
@test DataFrame(@where(g, length(:x) > 5)) == DataFrame(where(g, x -> length(x[:x]) > 5))
@test @where(d, :x .== 3) == DataFramesMeta.where(d, x -> x[:x] .== 3)
@test DataFrame(@where(g, length(:x) > 5)) == DataFrame(DataFramesMeta.where(g, x -> length(x[:x]) > 5))
@test DataFrame(@where(g, length(:x) > 5))[:n][1:3] == @data [5, 6, 7]

@test DataFrame(orderby(g, x -> mean(x[:n]))) == DataFrame(@orderby(g, mean(:n)))
@test DataFrame(DataFramesMeta.orderby(g, x -> mean(x[:n]))) == DataFrame(@orderby(g, mean(:n)))

@test (@transform(g, y = :n - median(:n)))[1,:y] == -5.0

Expand Down

0 comments on commit b415bf7

Please sign in to comment.