我想要一个DataFrame,比方说大小N*K,我想要一些列是Float64,而其他列是Int64。是否有一种特定的方法来定义允许我这样做的DataFrame?
这是我目前的做法:
df = convert(DataFrame, zeros(Float64, (N, K)))
df[:,K-2] = convert(Array{Int64,1}, df[:,K-2])
df[:,K-1] = convert(Array{Int64,1}, df[:,K-1])发布于 2016-11-02 13:53:21
您可以连接两个DataFrames:
julia> hcat(DataFrame(Float64, 3, 5), DataFrame(Int64, 3, 3))
3×8 DataFrames.DataFrame
│ Row │ x1 │ x2 │ x3 │ x4 │ x5 │ x1_1 │ x2_1 │ x3_1 │
├─────┼────┼────┼────┼────┼────┼──────┼──────┼──────┤
│ 1 │ NA │ NA │ NA │ NA │ NA │ NA │ NA │ NA │
│ 2 │ NA │ NA │ NA │ NA │ NA │ NA │ NA │ NA │
│ 3 │ NA │ NA │ NA │ NA │ NA │ NA │ NA │ NA │DataFrame构造函数还将类型向量作为参数:
julia> DataFrame([Float64, Float64, Int64, Int64], [Symbol("x$i") for i in 1:4], 3)
3×4 DataFrames.DataFrame
│ Row │ x1 │ x2 │ x3 │ x4 │
├─────┼────┼────┼────┼────┤
│ 1 │ NA │ NA │ NA │ NA │
│ 2 │ NA │ NA │ NA │ NA │
│ 3 │ NA │ NA │ NA │ NA │您可以使用级联构造适当的类型向量:
julia> [repeat([Float64]; outer=4); repeat([Int64]; outer=2)]
6-element Array{DataType,1}:
Float64
Float64
Float64
Float64
Int64
Int64 https://stackoverflow.com/questions/40375627
复制相似问题