Skip to content

InexactError in join #1120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ExpandingMan opened this issue Nov 2, 2016 · 6 comments
Closed

InexactError in join #1120

ExpandingMan opened this issue Nov 2, 2016 · 6 comments

Comments

@ExpandingMan
Copy link
Contributor

I am experiencing an extremely difficult-to-reproduce InexactError when using join in master.

ERROR: InexactError()
 in convert(::Type{UInt32}, ::Int64) at ./int.jl:205
 in sharepools(::DataFrames.DataFrame, ::DataFrames.DataFrame) at /home/savastio/.julia/v0.5/DataFrames/src/abstractdataframe/join.jl:204
 in #join#46(::Array{Symbol,1}, ::Symbol, ::Function, ::DataFrames.DataFrame, ::DataFrames.DataFrame) at /home/savastio/.julia/v0.5/DataFrames/src/abstractdataframe/join.jl:283
 in (::Base.#kw##join)(::Array{Any,1}, ::Base.#join, ::DataFrames.DataFrame, ::DataFrames.DataFrame) at ./<missing>:0

The join is being done on two DateTime and one Int64 columns. I attempted to reproduce the error by creating test dataframes with the same types and performing a similar join, but this does not seem to produce any error. The error also goes away if I join only on one of the DateTime columns and the Int64 column. At the moment I'm not able to determine what is special about the dataframes that are causing the crash.

Wish I could be more helpful, but I thought I'd post the issue in case it was obvious to someone what was going on.

@nalimilan
Copy link
Member

I guess the two columns have many unique values? Then that would be a duplicate of #985 (since the code is the same as for groupby).

@ExpandingMan
Copy link
Contributor Author

Yes, the columns have many unique values, so that is likely it. Thanks.

@nalimilan
Copy link
Member

Closing then. We really need somebody to investigate how we can avoid this failure.

@diegozea
Copy link

diegozea commented Nov 20, 2017

Hi! I found the same error:

julia> const pdb_evalue = join(pdb_selected, selected, on = [:pfam, :seq])
ERROR: InexactError()
Stacktrace:
 [1] convert(::Type{UInt32}, ::Int64) at ./int.jl:332
 [2] PooledDataVecs(::DataFrames.DataFrame, ::DataFrames.DataFrame) at /home/diego/.julia/v0.6/DataFrames/src/abstractdataframe/join.jl:93
 [3] #join#52(::Array{Symbol,1}, ::Symbol, ::Function, ::DataFrames.DataFrame, ::DataFrames.DataFrame) at /home/diego/.julia/v0.6/DataFrames/src/abstractdataframe/join.jl:202
 [4] (::Base.#kw##join)(::Array{Any,1}, ::Base.#join, ::DataFrames.DataFrame, ::DataFrames.DataFrame) at ./<missing>:0

Is there a workaround to avoid it?

Best regards,

Julia 0.6.1
DataFrames 0.10.1

@nalimilan
Copy link
Member

Is there a workaround to avoid it?

Use DataFrames master... :-)

@diegozea
Copy link

Sadly, Pkg.checkout("DataFrames") gives me the following error:

Unsatisfiable requirements detected for package WeakRefStrings:
├─version range [0.4.0,∞) required by package DataFrames, whose only allowed version is 0.10.1+:
│ └─version 0.10.1+ set by fixed requirement (package is checked out, dirty or pinned)
└─version range [0.0.0,0.3.0) required by package CSV, whose allowed version range is [0.0.0-,∞):
  └─version range [0.0.0-,∞) set by an explicit requirement
The intersection of the requirements is empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants