Dataframe 在数据帧中将数据类型字符串转换为浮点型

Dataframe 在数据帧中将数据类型字符串转换为浮点型,dataframe,julia,Dataframe,Julia,我有一个字符串格式的数据,当我使用数据帧时,它将是子字符串格式,但我希望它是浮点格式。我该怎么办 x = defect_positions[1:3] >>>SubString{String}["4.71801", "17.2815", "0.187765"] >>>SubString{String}["17.3681", "17.1425", "6.13644"] >>>SubString{String}["0.43998

我有一个
字符串
格式的数据,当我使用
数据帧
时,它将是
子字符串
格式,但我希望它是
浮点
格式。我该怎么办

x  = defect_positions[1:3]
>>>SubString{String}["4.71801", "17.2815", "0.187765"]    
>>>SubString{String}["17.3681", "17.1425", "6.13644"]     
>>>SubString{String}["0.439987", "0.00231646", "0.404172"]
DataFrame(permutedims(reduce(hcat, x))

x1  x2  x3
SubStrin…   SubStrin…   SubStrin…
1   4.71801 17.2815 0.187765
2   17.3681 17.1425 6.13644
3   0.439987    0.00231646  0.404172

如何将数据框转换为浮点型?

DataFrame
使用输入集合的元素类型在创建
数据框之前,您应该将字符串转换为浮点型。您可以使用
parse
将字符串解析为您选择的浮点数类型

# we map each `SubString` array in x (`SubString` arrays) 
# and parse each entries as `Float64` by broadcasting `parse`
parsed_x = map(i -> parse.(Float64, i), x) 
DataFrame(permutedims(reduce(hcat, parsed_x)))
您也可以选择在使用字符串创建
数据帧
后进行转换

df = DataFrame(permutedims(reduce(hcat, x))
for i in 1:size(df, 2)
   df[i] = parse.(Float64, df[i])
end
df
两种方法都给出了

│ Row │ x1      │ x2      │ x3       │
│     │ Float64 │ Float64 │ Float64  │
├─────┼─────────┼─────────┼──────────┤
│ 1   │ 4.71801 │ 17.2815 │ 0.187765 │
...

DataFrame
使用输入集合的元素类型。在创建
DataFrame
之前,应将字符串转换为浮点数类型。您可以使用
parse
将字符串解析为您选择的浮点数类型

# we map each `SubString` array in x (`SubString` arrays) 
# and parse each entries as `Float64` by broadcasting `parse`
parsed_x = map(i -> parse.(Float64, i), x) 
DataFrame(permutedims(reduce(hcat, parsed_x)))
您也可以选择在使用字符串创建
数据帧
后进行转换

df = DataFrame(permutedims(reduce(hcat, x))
for i in 1:size(df, 2)
   df[i] = parse.(Float64, df[i])
end
df
两种方法都给出了

│ Row │ x1      │ x2      │ x3       │
│     │ Float64 │ Float64 │ Float64  │
├─────┼─────────┼─────────┼──────────┤
│ 1   │ 4.71801 │ 17.2815 │ 0.187765 │
...