我想将Julia中的列数据类型从字符串更改为int但到目前为止没有运气.既不工作convert()也不parse()工作.有没有办法做到这一点?
我尝试了这些但没有效果
df[:serial] = int.(collect(df[:strSerial]))
df[:serial] = map(x->parse(Int,x),df[:strSerial])
df[:serial] = Int64(df[:strSerial])
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)