Can I ask how you ended up in a situation where you have a string/float mixed type array in the first place?
Typically you don’t want to do that, having strings in an otherwise numerical array like that breaks a lot of functionality. Here’s my work around for this…
using DataFrames
m = ["A" "B" "C"
1 10 100;
nothing nothing nothing;
3 30 300;
4 40 400]
m[ m .== nothing ] .= missing
Names = m[1,:]
Numbers = m[2:end,:]
newdf = convert(DataFrame, Numbers);
rename!(newdf, names(newdf) .=> Symbol.(Names[:]))
dropmissing(newdf)