Dataframe 为什么XLSX创建的数据帧的列类型始终为any类型
我在excel中有一些变量,我想把它们上传到Julia并估计一个线性模型。我的变量由实数组成,但是XLSX创建的数据帧中的每一列都是任意类型的 我想知道是否有一种方法可以让XLSX为每一列指定正确的类型Dataframe 为什么XLSX创建的数据帧的列类型始终为any类型,dataframe,julia,xlsx,Dataframe,Julia,Xlsx,我在excel中有一些变量,我想把它们上传到Julia并估计一个线性模型。我的变量由实数组成,但是XLSX创建的数据帧中的每一列都是任意类型的 我想知道是否有一种方法可以让XLSX为每一列指定正确的类型 谢谢你我不知道在读者中是否可能,但以下是在后处理中实现这一点的方法: julia> df = DataFrame(a=Any[1,2], b=Any[1,missing], c=Any[1.0,2.0], d=Any[1.0,missing]) 2×4 DataFrame Row │ a
谢谢你我不知道在读者中是否可能,但以下是在后处理中实现这一点的方法:
julia> df = DataFrame(a=Any[1,2], b=Any[1,missing], c=Any[1.0,2.0], d=Any[1.0,missing])
2×4 DataFrame
Row │ a b c d
│ Any Any Any Any
─────┼────────────────────────────
1 │ 1 1 1.0 1.0
2 │ 2 missing 2.0 missing
julia> transform!(df, names(df) .=> ByRow(identity), renamecols=false)
2×4 DataFrame
Row │ a b c d
│ Int64 Int64? Float64 Float64?
─────┼────────────────────────────────────
1 │ 1 1 1.0 1.0
2 │ 2 missing 2.0 missing
只需使用
infere\u eltypes=true
以下是一个示例:
julia> DataFrame(XLSX.readtable("file.xlsx",1;infer_eltypes=true)...)
3×3 DataFrame
│ Row │ col1 │ col2 │ col3 │
│ │ Int64 │ Float64 │ String │
├─────┼───────┼─────────┼────────┤
│ 1 │ 1 │ 4.5 │ txt1 │
│ 2 │ 2 │ 5.5 │ txt2 │
│ 3 │ 3 │ 6.7 │ txt3 │