在Julia的DataFrame中将列类型从String转换为Int

ben*_*nsw 3 dataframe julia

我想将Julia中的列数据类型从字符串更改为int但到目前为止没有运气.既不工作convert()也不parse()工作.有没有办法做到这一点?

我尝试了这些但没有效果

df[:serial] = int.(collect(df[:strSerial])) df[:serial] = map(x->parse(Int,x),df[:strSerial]) df[:serial] = Int64(df[:strSerial])

Ant*_*llo 6

parse() 应该管用:

df = DataFrame(
  yearsAsString = ["2016", "2017", "2018"] 
)
df[:years] = [parse(Int,x) for x in df[:yearsAsString]] 

df

3×2 DataFrames.DataFrame
? Row ? yearsAsString ? years ?
???????????????????????????????
? 1   ? "2016"        ? 2016  ?
? 2   ? "2017"        ? 2017  ?
? 3   ? "2018"        ? 2018  ?
Run Code Online (Sandbox Code Playgroud)

(记得Int和大都一起使用)

编辑(感谢MattB)

在目前的Julia 0.5.1(和0.6 alpha)中,这也有效:

df[:y2] = parse.([Int],df[:yearsAsString])
Run Code Online (Sandbox Code Playgroud)

仅在Julia 0.6中:

df[:y2] = parse.(Int,df[:yearsAsString])
Run Code Online (Sandbox Code Playgroud)