2020年12月14日月曜日

Jupyter notebooks + Kotlin で移動平均を描画する(その2): krangl で csv データを操作する

このエントリは Fintalk Advent Calendar 2020 の14日目です。
今年は3つも割当たっているので、Covid-19 のデータで件数とその移動平均をグラフに描画する、というのを3回シリーズでやりたいと思います。


krangl は R の dplyr と Python の pandas を参考にした Kotlin のライブラリで、関数スタイルのデータ操作APIがあります。pandas と同じように表形式のデータのフィルタリングや変換、集約などができます。

krangl も Kotlin Jupyter Kernel にバンドルされていて一緒にインストール&セットアップがされているので %use krangl だけで使えます。

ざっくりした使い方は krangl の examples を実際にやってみるのがいいと思います。下に notebook で実行した結果を貼っておきます。



CSVから読み込む時は readCSV() を使います。 val df = DataFrame.readCSV("path/to/file") Covid-19 のデータを読み込むと、数字が入っているカラムに空のところがあるのでDoubleのパースに失敗します。
なので、デフォルトの ColType として String を指定して読み込みます。 val df = DataFrame.readCSV("owid-covid-data.csv", colTypes = mapOf(".default" to ColType.String))
schema() とか head() とか使えます。

日本データだけ出してみましょう。
日付と新規感染者数のデータだけにします。
新規感染者数が空のデータを省きます。
新規感染者数のデータを Double に変換します。
あとは移動平均を計算してグラフにするだけです。それはまた次回〜


0 件のコメント:

コメントを投稿