Following the request by @quinnj (following @ViralBShah) I open the issue here to start discussing what to put on the blog post about DataFrames.jl.
Here is a quick list of things that come to my mind that could be shown:
- Why it took so long to reach 1.0 release: history of DataFrames.jl and its consequences (many rounds of deprecation cycles)
- Composability made possible by Tables.jl and DataAPI.jl (examples: CSV.jl & Arrow.jl, PrettyTables.jl, PooledArrays.jl & CategoricalArrays.jl, StatsPlots.jl)
- Why it is hard to make DataFrames.jl fast: ways to handle type instability and compilation latency (e.g. essentially every
combine call in normal user's workflow has to be compiled because of anonymous functions)
- Different coding styles offered: imperative, declarative (in-place operations and Chain.jl examples)
- Integration with Julia Base: indexing, views
- Design behind
GroupedDataFrame
- Some performance benchmarks
- What does it mean for the users that we have 1.0 release and what is to be done yet post 1.0 release
However, I think we should discuss what we want to cover in the post (as the list here is a bit haphazard)
Most helpful comment
It would be nice to have some discussion on the philosophy behind the package and its design.