Query.jl icon indicating copy to clipboard operation
Query.jl copied to clipboard

Using @mutate with a Dictionary or array loses the column types

Open pstaabp opened this issue 5 years ago • 1 comments

If one defines:

d=Dict(1=>"xx",2=>"yy",3=>"zz")
df = DataFrame(str=["a","b","c"],x=[1,2,3])

and then

df |> @mutate(y=d[_.x]) |> DataFrame

results in

Row │ str  x    y
     │ Any  Any  Any
─────┼───────────────
   1 │ a    1    xx
   2 │ b    2    yy
   3 │ c    3    zz

losing the types of all of the columns. And doing a little digging, this doesn't seem to be an issue with the dictionary. If instead

d=["xx","yy","zz"]

the above code loses the column types. In addition, if

d2=[7,8,9]

then

df |> @mutate(z=d2[_.x]) |> DataFrame

also loses the column types.

pstaabp avatar Jan 23 '21 12:01 pstaabp

Same here, seems the same issue as #313

danvinci avatar Feb 02 '21 16:02 danvinci