我有一个只包含数值的DataFrame。现在,我想将此DataFrame的所有值提取为数组。我该如何做?我知道对于单个列,如果我执行df[!,:x1]
,那么输出是一个数组。但是如何对所有列执行此操作?
julia> Matrix(df)
3×2 Array{Float64,2}:
0.723835 0.307092
0.02993 0.0147598
0.141979 0.0271646
Matrix{Union{Missing, Float64}}(df)
。您也可以使用Tables
API,特别是Tables.matrix
函数:
julia> df = DataFrame(x=rand(3), y=rand(3))
3×2 DataFrame
Row │ x y
│ Float64 Float64
─────┼─────────────────────
1 │ 0.33002 0.180934
2 │ 0.834302 0.470976
3 │ 0.0916842 0.45172
julia> Tables.matrix(df)
3×2 Array{Float64,2}:
0.33002 0.180934
0.834302 0.470976
0.0916842 0.45172
convert(Matrix, df[:,:])
试试这个