Как мне прочитать колонку как категоричную в CSV.jl - PullRequest
0 голосов
/ 20 сентября 2018

Я пробовал много вариантов следующего:

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

В пандах я использовал бы строку "категория" для описания типа данных.

В качестве альтернативы, если я хочу построитькадр данных с нуля, могу ли я сказать что-то вроде

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 голосов
/ 28 сентября 2018

Как сказал Богумил, лучше всего использовать флаг

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

Для столбцов, содержащих в основном уникальные данные, это добавит накладных расходов, но пока это лучший способ сделать это.

...