# Append!() function extremely slow in DataFrames + CSV

**URL:** <https://discourse.julialang.org/t/append-function-extremely-slow-in-dataframes-csv/8396>\
**Category:** Data\
**Tags:** package\
**Created:** [January 16, 2018, 9:57am UTC](https://discourse.julialang.org/t/append-function-extremely-slow-in-dataframes-csv/8396 "2018-01-16T09:57:53Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [January 16, 2018, 11:52am UTC](https://discourse.julialang.org/t/append-function-extremely-slow-in-dataframes-csv/8396/12 "2018-01-16T11:52:28Z")

</div>

Hmm… Looks like some major optimizations are missing here. If you want to help making progress, it would be useful to check whether you can reproduce this without DataFrames, i.e. by calling `append!` directly on vectors, comparing `Vector{T}`, `DataVector`{T} with `Vector{Union{T, Missing}}`. Then it would be worth filing an issue in Julia.

If you need to filter a data set, maybe you can fill a boolean vector indicating whether a row should be kept or not, and then call `getindex` on the data frame with it? That would be dramatically faster. There’s also an (unoptimized as the moment) `filter` function in the latest DataFrames version which could be used to get the same result.

---

_[View the full topic](https://discourse.julialang.org/t/append-function-extremely-slow-in-dataframes-csv/8396)._
