4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Explorer v0.5.0 に追加された DataFrame.describe で基本統計量を取得する

4
Last updated at Posted at 2023-01-27

はじめに

Explorer は Elixir でデータ分析をするためのモジュールです

Python でいうところの pandas、 R でいうところの tidyverse に当たります

私も今までにいくつか記事を書いています

2023/01/13 に Explorer の v0.5.0 がリリースされました

その中に DataFrame.describe の追加があり、これが非常に便利なので記事に残しておきます

実装したノートブックはこちら

Livebook での実行

pandas の describe と同じ機能です

データフレームの各列について、以下の基本統計量を返してくれます

  • count: 件数
  • mean: 平均値
  • std: 標準偏差
  • min: 最小値
  • 25%: 25パーセンタイル
  • 50%: 中央値(50パーセンタイル)
  • 75%: 75パーセンタイル
  • max: 最大値

実際に Livebook で使ってみましょう

セットアップ

Explorer と Kino をインストールします

Mix.install([
  {:explorer, "~> 0.5"},
  {:kino, "~> 0.8"}
])

エイリアスを付けておきます

alias Explorer.DataFrame
alias Explorer.Datasets
alias Explorer.Series

データの準備

ワインデータセットを使います

wine_df = Datasets.wine()

Kino.DataTable.new(wine_df)

wine_df.png

178 本のワインについて、それぞれの種類(class)と各種成分を持っています

describe の実行

データセットに対して describe を実行してみます

wine_df
|> DataFrame.describe()
|> Kino.DataTable.new()

スクリーンショット 2023-01-27 11.55.59.png

各列毎に基本統計量が表示できました

データの性質をザックリ把握したいときに非常に便利です

以前は自分で組む必要がありました

パーセンタイルの指定

パーセンタイルについては任意の位置を指定できます

wine_df
|> DataFrame.describe(percentiles: [0.33, 0.66])
|> Kino.DataTable.new()

percentiles.png

文字列の扱い

文字列に対してはどうなるか見たいので、別のデータセットを使います

fuels_df = Datasets.fossil_fuels()

Kino.DataTable.new(fuels_df)

fuels.png

年毎、国毎の化石燃料由来 CO2 排出量のデータセットです

これに対して describe を実行します

fuels_df
|> DataFrame.describe()
|> Kino.DataTable.new()

fuels_describe.png

文字列型の country は件数以外 nil になりました

まとめ

簡単に基本統計量を表示できるので、最初にデータのおおよその傾向を見るときに便利ですね

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?