Julia DataFrames.jl で数字で始まるカラム名を取得する場合の工夫
以前の記事 で紹介した
DataFrame(load("./input/train.csv"))
だと、どうやら数字が先頭のカラム名をそのまま扱ってしまう。
Julia DataFrame columns starting with number? - Stack Overflow
によると、 :2aa
という表記は Julia 上シンボルではなく 1:2aa
というレンジの扱いになってしまうため、"1st"
というカラムが存在しているからといって、df[:1st]
と書いても想定しているカラムを取得できない。
DataFrame.readtable だと、いい感じにカラム名の先頭を "1st" => "x1st"
のように x
を入れてくれていた(これも、実際データ触る時邪魔な気もするけど)
解決方法
ちゃんとシンボルだと指定してあげればいいので、
df[Symbol("1st")]
としてあげれば取得できる。少し不格好だが嫌いじゃない。