Convert Julia array to dataframe

前端 未结 4 379
遇见更好的自我
遇见更好的自我 2021-01-13 12:53

I have an array X that I\'d like to convert to a dataframe. Upon recommendation from the web, I tried converting to a dataframe and get the following error.

j

相关标签:
4条回答
  • 2021-01-13 13:17

    I've been confounded by the same issue a number of times, and eventually realized the issue is often related to the format of the array, and is easily resolved by simply transposing the array prior to conversion.

    In short, I recommend:

    julia> convert(DataFrame, x')
    
    0 讨论(0)
  • 2021-01-13 13:18

    So I found this online and honestly felt dumb.

    using CSV
    WhatIWant = DataFrame(WhatIHave)
    

    this was adapted from an R guide, but it works so heck

    0 讨论(0)
  • 2021-01-13 13:32
    # 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) = convert(DataFrame,Dict(mat[1,:],
                         [mat[2:end,i] for i in 1:size(mat,2)]))
    
    # convert a Matrix{Any} (mat) and a list of col name strings (headerstrings) 
    # to a DataFrame, e.g. matnms2df([1 2 3;4 5 6], ["a","b","c"])
    
    matnms2df(mat, headerstrs) = convert(DataFrame,
        Dict(zip(headerstrs,[mat[:,i] for i in 1:size(mat,2)])))
    
    0 讨论(0)
  • 2021-01-13 13:43

    This works for me:

    julia> using DataFrames
    
    julia> x = rand(4, 4)
    4x4 Array{Float64,2}:
     0.790912  0.0367989  0.425089  0.670121
     0.243605  0.62487    0.582498  0.302063
     0.785159  0.0083891  0.881153  0.353925
     0.618127  0.827093   0.577815  0.488565
    
    julia> convert(DataFrame, x)
    4x4 DataFrame
    | Row | x1       | x2        | x3       | x4       |
    |-----|----------|-----------|----------|----------|
    | 1   | 0.790912 | 0.0367989 | 0.425089 | 0.670121 |
    | 2   | 0.243605 | 0.62487   | 0.582498 | 0.302063 |
    | 3   | 0.785159 | 0.0083891 | 0.881153 | 0.353925 |
    | 4   | 0.618127 | 0.827093  | 0.577815 | 0.488565 |
    

    Are you trying something different?

    If that doesn't work try posting a bit more code we can help you better.

    0 讨论(0)
提交回复
热议问题