Juliaで空のデータフレームを作成する方法
概要
多くの言語でデータフレームがサポートされているにも関わらず、毎回新しくてイライラすることが空の配列の作成です。
コード
タイプ指定
julia> using DataFrames
julia> df1 = DataFrame(x = Int64[], y = String[])
0×2 DataFrame
実際に空の配列をデータとして入れればいいです。この時、タイプが指定され、データが全くない場合は、カラム名とタイプも表示されません。
julia> push!(df1, [3, "three"])
1×2 DataFrame
│ Row │ x │ y │
│ │ Int64 │ String │
├─────┼───────┼────────┤
│ 1 │ 3 │ three │
julia> push!(df1, [3.14, "pi"])
┌ Error: Error adding value to column :x.
└ @ DataFrames C:\Users\rmsms\.julia\packages\DataFrames\GtZ1l\src\dataframe\dataframe.jl:1606
ERROR: InexactError: Int64(3.14)
データを入れると、正常にカラム名とタイプが出力されます。タイプが合わない場合は、データが追加されないので注意が必要です。
タイプ未指定
julia> df2 = DataFrame(x = [], y = String[])
0×2 DataFrame
julia> push!(df2, [3, "three"])
1×2 DataFrame
│ Row │ x │ y │
│ │ Any │ String │
├─────┼─────┼────────┤
│ 1 │ 3 │ three │
julia> push!(df2, [3.14, "pi"])
2×2 DataFrame
│ Row │ x │ y │
│ │ Any │ String │
├─────┼──────┼────────┤
│ 1 │ 3 │ three │
│ 2 │ 3.14 │ pi │
データフレームのタイプでストレスを感じたくない場合は、上記のようにAny
の空の配列を作ればいいです。タイプ指定と違って、データがうまく入ったことが確認できます。
環境
- OS: Windows
- julia: v1.6.2