今年は3つも割当たっているので、Covid-19 のデータで件数とその移動平均をグラフに描画する、というのを3回シリーズでやりたいと思います。
- Jupyter notebooks + Kotlin で移動平均を描画する(その1): lets-plot-kotlin で線を描画する
- Jupyter notebooks + Kotlin で移動平均を描画する(その2): krangl で csv データを操作する
- Jupyter notebooks + Kotlin で移動平均を描画する(その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 件のコメント:
コメントを投稿