ジュリアでデータフレームの列名を変更する方法
概要
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