Julia

julia で小規模なcsvファイルを読み込み・操作・保存・確認まで

本日は

昨年はPythonがメインでしたが,今年はJuliaの比率を高めていきたいと思います.

手元に Julia データサイエンス を置いてこれを参考にしながら進めていければと思います.

ここでやること

ファイル操作の一環として次の流れをJuliaでやってみたいと思います:

sample.csv
1,2,3
4,5,6
7,8,9
  1. 上記のcsvファイルの読み込み
  2. データの編集
  3. 保存
  4. 確認

環境

PCはMacOSX,Juliaのバージョンは0.6.1です.

実装例

実装にはDataFramesパッケージを使いました.

  1. csvファイルの読み込みでreadtable を用いる.ここではヘッダーがないのでheader=false としておく.
  2. size 関数で dataframe の行数と列数を得る.
  3. 各列を列の値倍(c倍)する.
  4. 保存はwritetableで行う.
  5. 保存されたデータを確認するためにシェルコマンドのcatを呼び出す.(runのなかは''ではなくて``で囲むことに注意します.)
handlecsv.jl
using DataFrames 

function main()
    dataframe = readtable("sample.csv",header=false,separator=',')
    row,col=size(dataframe)
    for  c =1:col
        dataframe[:,c] *= c
    end
    writetable("output.csv",dataframe,header=false,separator=',')
    run(`cat output.csv`)
end 

main()

Jupyter Notebook でも確認

完成したプログラムを作るために当初はSublimeなどのテキストエディタを使っていましたが,
実行毎に using DataFrames を読み込むため,そのロード時間のために時間を取られます.
Notebookで作業しておくと読み込みは一回で済みますし,部分的な変更の実行のために時間を取られません.

実行結果も含めNotebookでの様子を下図に示します:

スクリーンショット 0030-01-07 午前10.27.27.png

ノートブック内では
run(`cat output.csv`) の代わりに ;cat output.csv で済ますことができます.
これはREPL上でも同様です.

以上