データ分析をする時にデータを読み込むのは必須ですよね。
pythonなら、pandasを使って、データの読み書きや処理を行うのをよくやると思います。
juliaには、pandasはないので、それに代わるようなパッケージを使って処理していきましょう。
CSVで読み込んだデータを操作するのは、Query.jlというのがあります。
Query.jlについては、juliaのDataFramesとQueryでデータを操作するで解説しています。気になる方はそちらをご覧ください
Query.jlを使う以外にもSQLiteを用いてデータを操作する方法もあります。
SQLiteに取り込む方法も解説します。
実行環境
今回インストールした環境
- windows 11
- julia 1.11
- DataFrames v1.7.0
- CSV v0.10.14
パッケージのバージョンの確認方法
juliaでパッケージのバージョンを確認するには
パッケージモードで、”status”を使う
もしくは、using Pkgでstatusを使う
これで確認できます。
juliaでCSVファイルを読み込む
juliaでCSVファイルを読み込んでいきましょう。
今回は、データ分析の入門として有名なタイタニック号のデータを読み込んでいきます。
juliaで使うパッケージ
必要なパッケージをインストールしていきます。
今回使うパッケージは2つ
- CSV
- DataFrames
- SQLite
CSVはその名の通り、CSVファイルの操作のためのパッケージ。
DataFramesはPythonのPandasのようにdataをdataframeとして扱うためのパッケージ
SQLiteはその名の通りSQLiteのパッケージ
パッケージのインストール
Juliaを起動したらパッケージモード(”]”を入力する)に移動して、インストールしていきます。
(@v1.11) pkg> add DataFrames
......
......
(@v1.11) pkg> add CSV
......
......
(@v1.11) pkg> add SQLite
......
......
Jupyterからインストールする場合は
using Pkg
Pkg.add("DataFrames")
Pkg.add("CSV")
Pkg.add("SQLite")
ってやればOKです。
プレコンパイルなどが走ります。
エラーがなければ問題なしです。
これで、必要なパッケージのインストールは完了です。
CSVデータを読み込む
パッケージのインストールができたので、CSVファイルを実際に読み込んでみましょう。
タイタニックのデータが入ったCSVファイルのファイル名を”titanic.csv”とします。
今回は3つの読み込み方をやってみます。
1. CSV.read()で読み込む
まずは、CSV.readで読み込んでみましょう。
using CSV,DataFrames
titanic = CSV.read("titanic.csv", DataFrame)
これで完了です。
少し古い情報だとCSV.read(path)で動くように書いてあるものもありますが、CSV.read(path,DataFrame)って書かないとエラーが出ます。
2. CSV.File()で読み込む
次にCSV.Fileってので読み込んでいきます。
using CSV,DataFrames
titanic = DataFrame(CSV.File("titanic.csv"))
これでもCSVファイルを読み込むことができます。
3. パイプライン演算子を使って読み込む
パイプライン演算子を使った方法を紹介します
パイプライン演算子って何?っていうと”|>”こういうやつで、関数に代入していける感じと思えばいいのかと思います。
詳しくは検索してね。
パイプライン演算子使った書き方はこんな感じ
using CSV,DataFrames
titanic = CSV.File("titanic.csv") |> DataFrame
DataFrameにCSV.Fileで読み取ったデータを代入しています。
2でやっていることをパイプライン演算子を使って書き換えた感じです。
4.SQLiteに取り込む
データ操作で便利なSQLiteのテーブルとして読み込むこともできます。
using CSV,DataFrames,SQLite
db = SQLite.DB()
CSV.File("titanic.csv") |> SQLite.load!(db,"titanic_sql")
1行目:パッケージを読み込んだ後
2行目:メモリー上にSQLiteのデータベースを作って
3行目:csvファイルを読み込んで、2行目で作成したデータベースにテーブルとして追加する
SQLの操作をする場合は
DBInterface.execute(db,"SELECT * FROM titanic_sql")|>DataFrame
DBInterfaceを使って、SQLを投げてやればOK
もちろんデータフレームの形で変数にいれることも可能です
df = DBInterface.execute(db,"SELECT * FROM titanic_sql")|>DataFrame
まとめ
今回はJuliaでCSVファイルを読み込む3つの方法をご紹介しました。
1つ目のCSV.readは他の言語と似たような感じですが、3つ目のパイプライン演算子を使った方法はPythonとかではあまり見かけないかもしれません。Pythonにはパイプライン演算子はないかも。
どの方法でもCSVファイルを読み込んでdataframeに入れるのはいっしょです。
CSV.Fileはたしかイテレーターだったかな?なので、CSVの生をいじるならそちらがいいのかもしれません
SQLを使えると、大きなデータを操作するときにとても便利になるので、使いこなせるようになるといいですよね
では、データサイエンスでJuliaを使ってみましょう!
ではまたね
コメント
[…] 前回は、JuliaでCSVファイルを読み込む3つの方法をご紹介しました。 […]
[…] CSVはJuliaでCSVファイルを読み込む3つの方法-Julia1.6対応- […]