我有一个标题行的数组说:
arr = ["age" "height" "weight";
20 175 73;
30 160 66]
我希望将其转换为DataFrame,推荐的方法是什么? 我目前的方法是下面的答案,任何更好的建议?
答案 0 :(得分:4)
One Liners:
# convert a Matrix{Any} with a header row of col name strings to a DataFrame
# e.g. mat2df(["a" "b" "c"; 1 2 3; 4 5 6])
mat2df(mat) =
DataFrame([[mat[2:end,i]...] for i in 1:size(mat,2)], Symbol.(mat[1,:]))
# convert a Matrix and a list of col name strings to a DataFrame
# e.g. matncolnames2df([1 2 3;4 5 6], ["a","b","c"])
matncolnames2df(mat, colnames) =
DataFrame([[mat[:,i]...] for i in 1:size(mat,2)], Symbol.(colnames))
Re:Iain Dunning的评论如下:这里有一个宏,但它调用的DataFrame构造函数已被弃用,上面的效果很好,所以现在它已经消失了......(Don'不用担心,这不好,我觉得Iain Dunning只是很好看:))