如何在CSV.jl中读取列作为分类

时间:2018-09-20 09:53:19

标签: julia

我尝试了以下几种变化:

f = CSV.File(file, delim="\t", 
             header=["C" * string(i) for i in 1:6], 
             types=Dict("C1"=>CategoricalArray))

在熊猫中,我将使用字符串“ category”来描述数据类型。

或者,如果我想从头开始构建数据框,我可以说

df = DataFrame(Chromosome = CategoricalArray[], Start = Int64[], End = Int64[], Name = Int64[], Score = Int64[], Strand = CategoricalArray[])

我已经尝试过,但是随后出现错误:

ERROR: LoadError: ArgumentError: Error adding chr8 to column :Chromosome. Possible type mis-match.

1 个答案:

答案 0 :(得分:0)

像Bogumil说的,最好的办法是使用该标志

CSV.read(..., categorical = true)

对于大多数数据都是唯一的列,这会增加开销,但这是目前最好的方法。