julia 1.0.0 + DataFrames v0.13.0 の the dot operator
julia が 1.0 になったことで、the dot operator というやつが導入・強化されているようです。
version は下記のとおりです。
(v1.0) pkg> status
Status `~/.julia/environments/v1.0/Project.toml`
[a93c6f00] DataFrames v0.13.0
以下略
まずは、普通にデータフレームを組みます。
julia> df = DataFrame(a=randn(10^5),b=randn(10^5))
100000×2 DataFrame
│ Row │ a │ b │
├────────┼───────────┼───────────┤
│ 1 │ 1.06429 │ -0.665591 │
│ 2 │ 1.34957 │ 1.5088 │
│ 3 │ 1.26694 │ -1.61644 │
...略
julia> df[:c] = "hoge".* string.(collect(1:10^5))
100000-element Array{String,1}:
"hoge1"
"hoge2"
"hoge3"
...略
df の a の column を表示する方法は、df[:a] でしたが、df.a という書式が許されるようになりました。
julia> df[:a]
100000-element Array{Float64,1}:
1.0642945299080955
1.3495717535723946
1.2669443981981892
...略
julia> df.a
100000-element Array{Float64,1}:
1.0642945299080955
1.3495717535723946
1.2669443981981892
...略
R だったら df$a で良かったものを、df[:a]と少しタイプする量が増えていました。これで、ほぼ対等になりますね。
幸か不幸か、python 使いの df.describe みたいな書式も期待してしまいますが、許されていないようです。
julia> describe(df) 3×8 DataFrame. Omitted printing of 2 columns │ Row │ variable │ mean │ min │ median │ max │ nunique │ ├─────┼──────────┼────────────┼──────────┼────────────┼───────────┼─────────┤ │ 1 │ a │ 0.006449 │ -4.20703 │ 0.00854218 │ 4.48357 │ │ │ 2 │ b │ 0.00460347 │ -4.75253 │ 0.00416373 │ 4.2176 │ │ │ 3 │ c │ │ hoge1 │ │ hoge99999 │ 100000 │ julia> df.describe ERROR: KeyError: key :describe not found ...略
早く使ってみたいところですが、本格的に使い始めるのは、PyCall.jl が動くようになってからです。