Julia 从矩阵生成数据帧-指定列类型

Julia 从矩阵生成数据帧-指定列类型,julia,Julia,好吧,假设我有一系列阵列: data_one = ["dog","cat"] data_two = [1,2] data_three = ["1/1/2018","1/2/2018"] 我把它们构建成一个矩阵 m = hcat(data_one,data_two,data_three) 并转换为df df = DataFrame(m) showcols(df) 对于输出: julia> showcols(df) 3×5 DataFrames.DataFrame │ Row │ var

好吧,假设我有一系列阵列:

data_one = ["dog","cat"]
data_two = [1,2]
data_three = ["1/1/2018","1/2/2018"]
我把它们构建成一个矩阵

m = hcat(data_one,data_two,data_three)
并转换为df

df = DataFrame(m)
showcols(df)
对于输出:

julia> showcols(df)
3×5 DataFrames.DataFrame
│ Row │ variable │ eltype │ nmissing │ first    │ last     │
├─────┼──────────┼────────┼──────────┼──────────┼──────────┤
│ 1   │ x1       │ Any    │ 0        │ dog      │ cat      │
│ 2   │ x2       │ Any    │ 0        │ 1        │ 2        │
│ 3   │ x3       │ Any    │ 0        │ 1/1/2018 │ 1/2/2018 │
当我构建此数据框时-如何指定每列的类型

col1 should be String 
col2 = Int 
col3 = String

您只能通过以下
DataFrame
构造函数间接执行此操作(当然,您可以在此处将
[String,Int,String]
作为变量传递):

如果要使用列类型的自动检测,可以使用:

DataFrame([[v for v in m[:,i]] for i in 1:size(m, 2)])

您只能通过以下
DataFrame
构造函数间接执行此操作(当然,您可以在此处将
[String,Int,String]
作为变量传递):

如果要使用列类型的自动检测,可以使用:

DataFrame([[v for v in m[:,i]] for i in 1:size(m, 2)])