# Problem initializing dataframe column types

**URL:** <https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561>\
**Category:** General Usage\
**Tags:** dataframes\
**Created:** [July 30, 2021, 5:10pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561 "2021-07-30T17:10:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)\
**Post date:** [July 30, 2021, 5:10pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/1 "2021-07-30T17:10:52Z")

</div>

I’m having trouble initializing an empty dataframe intended to hold integer and floating point values:

```julia
julia> using DataFrames

julia> df = DataFrame([Int[],Float64[]], :auto)
0×2 DataFrame

julia> push!(df,Any[1,10.0])
1×2 DataFrame
 Row │ x1 x2
     │ Float64 Float64
─────┼──────────────────
   1 │ 1.0 10.0

```

Why is the first column a `Float64` rather than an `Int`? I’m using `DataFrames` version 1.2.1 with Julia 1.6.2.

---

<div class="post-metadata">

**Author:** ![MartaVanin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martavanin/32/14658_2.png) [@MartaVanin](https://discourse.julialang.org/u/MartaVanin)\
**Post date:** [July 30, 2021, 5:30pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/2 "2021-07-30T17:30:55Z")

</div>

Not sure why it behaves like that in this case and if it is intended. But as a quick workaround, if you can assign column names and do:

```julia
using DataFrames
df = DataFrame(a = Int64[], b = Float64[])
push!(df,[1,10.0])

```

then the types are as expected.

---

<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:** [July 30, 2021, 5:57pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/3 "2021-07-30T17:57:05Z")

</div>

This isn’t about DataFrames, but rather auto-promotion. It looks like Julia promotes the `Int[]` to `Float64[]` when you make that array. Try adding an `Any`

```julia
julia> [Int[],Float64[]]
2-element Vector{Vector{Float64}}:
 []
 []

julia> Any[Int[],Float64[]]
2-element Vector{Any}:
 Int64[]
 Float64[]

```

---

<div class="post-metadata">

**Author:** ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)\
**Post date:** [July 30, 2021, 7:02pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/4 "2021-07-30T19:02:30Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)\
**Post date:** [July 30, 2021, 7:03pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/5 "2021-07-30T19:03:05Z")

</div>

Thanks for your solution as well!

---

<div class="post-metadata">

**Author:** ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)\
**Post date:** [July 30, 2021, 9:35pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/7 "2021-07-30T21:35:51Z")

</div>

Yes, this is what @pdeffebach suggested, which I marked as the answer.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [July 30, 2021, 9:40pm UTC](https://discourse.julialang.org/t/problem-initializing-dataframe-column-types/65561/8 "2021-07-30T21:40:32Z")

</div>

Sorry, got code and error messages messed up here. Will delete post.
