# \[ANN\] DataFrameIntervals.jl — joins on intervals of time

**URL:** <https://discourse.julialang.org/t/ann-dataframeintervals-jl-joins-on-intervals-of-time/84190>\
**Category:** Package Announcements\
**Tags:** dataframes\
**Created:** [July 13, 2022, 6:47pm UTC](https://discourse.julialang.org/t/ann-dataframeintervals-jl-joins-on-intervals-of-time/84190 "2022-07-13T18:47:42Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [July 14, 2022, 4:55pm UTC](https://discourse.julialang.org/t/ann-dataframeintervals-jl-joins-on-intervals-of-time/84190/9 "2022-07-14T16:55:40Z")

</div>

You may also find _(my)_ [[ANN] FlexiJoins.jl: fresh take on joining datasets](https://discourse.julialang.org/t/ann-flexijoins-jl-fresh-take-on-joining-datasets/79655) package useful.

- Lots of join conditions available, including interval overlap
- Supports a wide range of collections/table types, even `DataFrames`
- Uniform interface and composability, as in `by_key(:name) & by_pred(:value, ∈, :valrange)`
- Lots of other neat features – see the linked thread and the [examples notebook](https://aplavin.github.io/FlexiJoins.jl/test/examples.html).
- Optimized, as in not looping over `N*M` pairs. Still, very specialized algorithms can be somewhat faster.

---

_[View the full topic](https://discourse.julialang.org/t/ann-dataframeintervals-jl-joins-on-intervals-of-time/84190)._
