Juliaでデータフレームの列名を変更する方法
概要
rename!() 関数を使って変更するといい1。
文字列のリストを与えて一度に変更する方法もあるし、個別に変更する方法もある。
コード
using DataFrames
df = DataFrame(rand(1:9, 10, 3), :auto)
rename!(df, ["X", "Y", "Z"])
rename!(df, :X => :A)
実行すると、最初に次のようなデータフレームが生成される。
julia> df = DataFrame(rand(1:9, 10, 3), :auto)
10×3 DataFrame
 Row │ x1     x2     x3    
     │ Int64  Int64  Int64 
─────┼─────────────────────
   1 │     2      3      6
   2 │     9      2      4
   3 │     3      3      4
   4 │     3      3      3
   5 │     9      1      6
   6 │     3      1      5
   7 │     4      8      4
   8 │     9      8      4
   9 │     4      6      1
  10 │     1      9      7
一度に変更する方法
julia> rename!(df, ["X", "Y", "Z"])
10×3 DataFrame
 Row │ X      Y      Z     
     │ Int64  Int64  Int64 
─────┼─────────────────────
   1 │     2      3      6
   2 │     9      2      4
   3 │     3      3      4
   4 │     3      3      3
   5 │     9      1      6
   6 │     3      1      5
   7 │     4      8      4
   8 │     9      8      4
   9 │     4      6      1
  10 │     1      9      7
文字列のリストを与えればいい。
一つずつ変更する方法
julia> rename!(df, :X => :A)
10×3 DataFrame
 Row │ A      Y      Z     
     │ Int64  Int64  Int64 
─────┼─────────────────────
   1 │     2      3      6
   2 │     9      2      4
   3 │     3      3      4
   4 │     3      3      3
   5 │     9      1      6
   6 │     3      1      5
   7 │     4      8      4
   8 │     9      8      4
   9 │     4      6      1
  10 │     1      9      7
他の言語ではあまり見られない方法だが、列名の前に : を付けて、=> でマッピングする。ジュリアで : で始まる変数はシンボルsymbolだ。
環境
- OS: Windows
 - julia: v1.6.2
 
