Beb*_*bio 3 arrays dataframe julia
我尝试找到一种简单的方法将字符串类型的列转换为浮点数。
我尝试了一些:
df[!,x] = parse(Float64, df[!,y])
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
如果您有任何想法,我将不胜感激
你需要广播它(注意.后面的parse):
julia> df = DataFrame(y = ["1", "2"])\n2\xc3\x971 DataFrame\n\xe2\x94\x82 Row \xe2\x94\x82 y \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 String \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1 \xe2\x94\x82 1 \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x82 2 \xe2\x94\x82\n\njulia> df.x = parse.(Float64, df.y)\n2-element Array{Float64,1}:\n 1.0\n 2.0\n\njulia> df\n2\xc3\x972 DataFrame\n\xe2\x94\x82 Row \xe2\x94\x82 y \xe2\x94\x82 x \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 String \xe2\x94\x82 Float64 \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1 \xe2\x94\x82 1 \xe2\x94\x82 1.0 \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x82 2 \xe2\x94\x82 2.0 \xe2\x94\x82\nRun Code Online (Sandbox Code Playgroud)\n另一种使用方法transform!是(在这种情况下更详细):
julia> transform!(df, :y => ByRow(x -> parse(Float64, x)) => :x)\n2\xc3\x972 DataFrame\n\xe2\x94\x82 Row \xe2\x94\x82 y \xe2\x94\x82 x \xe2\x94\x82\n\xe2\x94\x82 \xe2\x94\x82 String \xe2\x94\x82 Float64 \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1 \xe2\x94\x82 1 \xe2\x94\x82 1.0 \xe2\x94\x82\n\xe2\x94\x82 2 \xe2\x94\x82 2 \xe2\x94\x82 2.0 \xe2\x94\x82\nRun Code Online (Sandbox Code Playgroud)\n如果您在上面的代码中替换了missing值,例如:yparsepassmissing(parse)
df.x = passmissing(parse).(Float64, df.y)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3061 次 |
| 最近记录: |