# How to convert an "any" column in a dataframe containing strings and floats?

**URL:** <https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330>\
**Category:** General Usage\
**Tags:** dataframes\
**Created:** [March 3, 2022, 12:29am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330 "2022-03-03T00:29:40Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![a.frist](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@a.frist](https://discourse.julialang.org/u/a.frist)\
**Post date:** [March 3, 2022, 12:29am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/1 "2022-03-03T00:29:40Z")

</div>

I’m trying to convert a column of type “Any” in my dataframe to a column of type “Float64”. It seems that there are float values and string values in the column.

First I tried:

```julia
df[!, :column2] = tryparse.(Float64, df[:, :column2])

```

Which yielded the following error:  
ERROR: LoadError: MethodError: no method matching tryparse(::Type{Float64}, ::Float64)

I then tried computing my correlation:

```julia
my_correlation = cor(df.column1, df.column2)

```

Which yielded the following error:  
ERROR: LoadError: MethodError: no method matching /(::String31, ::Int64)

It seems when I use tryparse() I run into a Float64 value and get an error. When I don’t try to convert the strings and just run my correlation, I end up getting an error because you cannot calculate a Pearson correlation with strings. Is there a better way to go about parsing the strings?

---

<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:** [March 3, 2022, 12:50am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/2 "2022-03-03T00:50:44Z")

</div>

> [@a.frist](#):
>
> tryparse(::Type{Float64}, ::Float64)

it’s already Float64

---

<div class="post-metadata">

**Author:** ![a.frist](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@a.frist](https://discourse.julialang.org/u/a.frist)\
**Post date:** [March 3, 2022, 1:04am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/3 "2022-03-03T01:04:46Z")

</div>

If it is of type Float64, why is my code returning the second error when I try to calculate my correlation?

---

<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:** [March 3, 2022, 1:09am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/4 "2022-03-03T01:09:11Z")

</div>

column1 and column2 are not the same column as my\_column

---

<div class="post-metadata">

**Author:** ![a.frist](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@a.frist](https://discourse.julialang.org/u/a.frist)\
**Post date:** [March 3, 2022, 1:11am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/5 "2022-03-03T01:11:26Z")

</div>

Sorry, I tried to edit the post so that column2 is in the first code snippet. Can you not see that edit? It should look like:

```julia
df[!, :column2] = tryparse.(Float64, df[:, :column2])

```

I also tried:

```julia
df[!, :column1] = tryparse.(Float64, df[:, :column1])

```

and got the error: ERROR: LoadError: MethodError: no method matching tryparse(::Type{Float64}, ::Float64)

---

<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:** [March 3, 2022, 1:20am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/6 "2022-03-03T01:20:53Z")

</div>

You’re parsing my\_column, but it’s already floats. You’re not using my\_column to do correlation calculations

---

<div class="post-metadata">

**Author:** ![a.frist](https://avatars.discourse-cdn.com/v4/letter/a/d26b3c/32.png) [@a.frist](https://discourse.julialang.org/u/a.frist)\
**Post date:** [March 3, 2022, 2:03am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/7 "2022-03-03T02:03:11Z")

</div>

Apologies, I’ve fixed the typos!

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [March 3, 2022, 8:06am UTC](https://discourse.julialang.org/t/how-to-convert-an-any-column-in-a-dataframe-containing-strings-and-floats/77330/8 "2022-03-03T08:06:27Z")

</div>

I think it would help if you at least posted a few rows from your dataframe, and include the headers

```julia
julia> df
3×2 DataFrame
 Row │ a b
     │ Int64 Int64
─────┼──────────────
   1 │ 1 3
   2 │ 2 4

```

Also you might get a better grasp of your situation if you used `parse` instead of `tryparse`
