JuliaData / JuliaData/DataFramesMeta.jl
@where can't deal with NAs
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 496
- Forks
- 56
- PR merge metrics
- No merged PRs in 30d
Description
@where(datos, :x_13 .== "#0_PHY") throws the following error because the column has missing values:
LoadError: DataArrays.NAException("cannot index an array with a DataArray containing NA values")
while loading In[8], in expression starting on line 1
in to_index at /home/dzea/.julia/v0.4/DataArrays/src/indexing.jl:76
in getindex at /home/dzea/.julia/v0.4/DataArrays/src/indexing.jl:173
in getindex at /home/dzea/.julia/v0.4/DataFrames/src/dataframe/dataframe.jl:281
in where at /home/dzea/.julia/v0.4/DataFramesMeta/src/DataFramesMeta.jl:164
datos[:x_13] .== "#0_PHY" works and returns a DataArrays.DataArray{Bool,1}, but datos[datos[:x_13] .== "#0_PHY",:] throws the same error.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the @where implementation in DataFramesMeta.jl at the reported line 164 and reproduce the expression using a column containing missing values. Trace how the DataArray{Bool,1} result is passed into row selection. Done means the behavior for missing values is defined and the reported DataArrays.NAException no longer occurs for this query.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100