Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Imagine I have a dataframe

df=DataFrame(A=rand(5),B=["8", "9", "4", "3", "12"])

What I want to do is to convert column B to Int type, so I used

df[!,:B] = convert.(Int64,df[!,:B])

But I got warning:

'Cannot Convert an object of type string to an object of type Int64'

Could you please tell me why I was wrong?

question from:https://stackoverflow.com/questions/65838873/convert-a-column-from-string-to-int-in-dataframe

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.7k views
Welcome To Ask or Share your Answers For Others

1 Answer

What you are looking for is the parse function, broadcast over the elements in the column with dot notation:

df = DataFrame(A = rand(5), B = ["8", "9", "4", "3", "12"])
df[!, :B] = parse.(Int64, df[!, :B])

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...