# leftjoin(df\_A,df\_B, on = :Date) UndefVarError: leftjoin not defined

**URL:** <https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690>\
**Category:** New to Julia\
**Tags:** dataframes\
**Created:** [August 19, 2021, 8:03pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690 "2021-08-19T20:03:28Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 19, 2021, 8:03pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/1 "2021-08-19T20:03:28Z")

</div>

My once functioning code, which uses DataFrames, suddenly throws an error at the line

```
 leftjoin(df_A,df_B, on = :Date) 

```

I have no idea why leftjoin is suddenly not recognized. What am I missing?

---

<div class="post-metadata">

**Author:** ![viraltux](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/viraltux/32/15236_2.png) [@viraltux](https://discourse.julialang.org/u/viraltux)\
**Post date:** [August 19, 2021, 9:08pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/2 "2021-08-19T21:08:37Z")

</div>

For starters you are missing to share in your post your environment, all the relevant pre-formatted code and the error you have so that people can help you.

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [August 19, 2021, 9:24pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/3 "2021-08-19T21:24:09Z")

</div>

check version?

```julia
julia> using DataFrames

julia> leftjoin
leftjoin (generic function with 1 method)

```

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 5:30am UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/4 "2021-08-20T05:30:04Z")

</div>

> [@jling](#):
>
> `leftjoin`

I restarted Atom, typed exactly what jling asked, and got the error shown in the image after Julia started:

 ![leftjoin](https://global.discourse-cdn.com/julialang/original/3X/a/6/a6a5a77fe7ede2567175525f577d0c8bac5404ed.jpeg)

---

<div class="post-metadata">

**Author:** ![hdavid16](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hdavid16/32/11531_2.png) [@hdavid16](https://discourse.julialang.org/u/hdavid16)\
**Post date:** [August 20, 2021, 6:00am UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/5 "2021-08-20T06:00:49Z")

</div>

Check the version of DataFrames you are using:

```julia
using Pkg
Pkg.status(“DataFrames”)

```

In older versions, there was just `join` and you would specify the type of join.

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 7:19pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/6 "2021-08-20T19:19:03Z")

</div>

> [@hdavid16](#):
>
> `Pkg.status(“DataFrames”)`

DataFrames v0.20.2

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 7:36pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/7 "2021-08-20T19:36:42Z")

</div>

Re-started my PC. Same problem. I have no idea what to do next. Perhaps I can try removing the latest version of DataFrames and then install a prior version? Or perhaps I have an old version?

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 7:48pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/8 "2021-08-20T19:48:38Z")

</div>

You have an old version. DataFrames is now on version 1.2.

Old documentation of DataFrames is [here](https://dataframes.juliadata.org/v0.20.2/). But you should really update to the latest version. It has stability guarantees, so after upgrading you won’t run into an error like this again.

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 7:53pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/9 "2021-08-20T19:53:53Z")

</div>

This is very strange. My code was working. Then suddenly it is not. The image shows what I get when I try to install the latest version.

 ![image](https://global.discourse-cdn.com/julialang/original/3X/7/9/79fdabedafdd34c31cfff1aa5226171e79dba250.png)

Between the code working and not working, I installed PlotlyJS. Can that be an influence? I have removed that now, by the way. But the “Unsatisfiable” requirements remain…

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 7:57pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/10 "2021-08-20T19:57:35Z")

</div>

Hmm it’s hard to debug.

That is a pretty clear error message though. Lathe doesn’t allow a high enough version of DataFrames.

It looks like your DataFrames.jl version may have gotten downgraded as a result of adding PlotlyJS, but that shouldn’t result in a breaking change like `leftjoin` no longer being defined.

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 7:58pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/11 "2021-08-20T19:58:53Z")

</div>

Any advice? Re-Install Atom? Something that drastic?

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 8:00pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/12 "2021-08-20T20:00:21Z")

</div>

Do you have access to a Project.toml before and after things started breaking?

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 8:02pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/13 "2021-08-20T20:02:29Z")

</div>

> [@pdeffebach](#):
>
> Project.toml

Not sure. Apologies from a newbie.

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 8:08pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/14 "2021-08-20T20:08:52Z")

</div>

I would guess that you had DataFrames 0.21.0 before adding PlotlyJS, then it downgraded. But I have no idea why that would have happened.

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 8:24pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/15 "2021-08-20T20:24:58Z")

</div>

True `]add DataFrames@0.21.0` and see what happens. Then remove PlotlyJS and try again and see what happens.

---

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [August 20, 2021, 8:31pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/16 "2021-08-20T20:31:58Z")

</div>

I removed Lathe, installed the latest version of DataFrames, and now things work. Of course, now I don’t have Lathe. But for my immediate plans this is still progress!

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [August 20, 2021, 8:41pm UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/17 "2021-08-20T20:41:10Z")

</div>

To be honest, I would try and switch over to a more mature machine learning framework. It’s a bad sign that Lathe.jl doesn’t allow for more recent versions of DataFrames.jl. It is also written in a weird object-oriented style. Maybe try MLJ?

---

<div class="post-metadata">

**Author:** ![hdavid16](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hdavid16/32/11531_2.png) [@hdavid16](https://discourse.julialang.org/u/hdavid16)\
**Post date:** [August 21, 2021, 2:17am UTC](https://discourse.julialang.org/t/leftjoin-df-a-df-b-on-date-undefvarerror-leftjoin-not-defined/66690/18 "2021-08-21T02:17:40Z")

</div>

FYI, you can create new environments in Julia where you install the packages you need and avoid these types of versioning issues.
