【まとめ】OpenRefineの使い方をまとめていく
ども、k69 です。
OpenRefineというデータ整形(データ前処理)ツールが非常に素晴らしいと感じたので、是非皆さんにも使ってもらいたいと思い、ブログに使い方をまとめることにしました。
しかし、私はデータエンジニア(データサイエンティスト)ではないので、「データ整形(データ前処理)とはどういった処理なのか?」を理解していないため、前処理大全の目次からできそうなものをOpenRefineでやってみることにしました。
OpenRefineとは
何ができるのか?
画面に一文で「A power tool for working with messy data.」とOpenRefineの説明があり、
言語を日本語に切り替えると「乱雑なデータを処理するためのパワーツール」と翻訳されますw
パワーツールと言うだけあって、
- スペースの有無や半角全角カナを名寄せできたり、
- データにある郵便番号をパラメタとして、APIサービス経由で住所を取得したり、
- Wikidataと連携し、関連性のある単語を抽出したり
- プログラム言語(GREL、Python/Jython、Clojour)を使ってデータ整形をしたり
※ GRELはOpenRefine独自言語(関数)
できます。※おそらくもっと多くの機能があると思います。
インストール手順
Windows環境だと、①「Java JRE をインストール」 ②「OpenRefineのZIPファイルをダウンロード」 ③「解凍後 exeをダブルクリックする」だけです。詳細はこちらを参照願います。
OpenRefineでやれそうなデータ整形(データ前処理)一覧
前処理大全の目次からイメージしやすい項目をリストアップしてみた。OpenRefineでデータ整形できるか試していき、随時ブログに投稿します。
名寄せ
- データの揺れを補正 (半角全角スペース)
データの揺れを補正(半角全角スペース)の揺れを補正する記事を書きました。(2018/08/02 追加) - 半角全角の揺れを補正
半角全角スペースの揺れを補正する記事を書きました。(2018/08/10 追加) - 日本語英語の揺れを補正
抽出
- データ列指定による抽出
- 条件指定による抽出
- データ値に基づかないサンプリング
- サンプリング
集約
- データ数、種類数の算出
- 合計値の算出
- 極値、代表値の算出
- ばらつき具合の算出
- 最頻値の算出
- 順位の算出
結合
- マスタテーブルの結合
- 条件に応じた結合テーブルの切り替え
- 過去データの結合
- 全結合
分割
数値型
- 数値型への変換
- 外れ値の除去
カテゴリ型
- カテゴリ型の数値化
日時型
- 日時型、日付型への変換
- 年/月/日/時刻/分/秒/曜日への変換
- 日時差への変換
- 日時型の増減
- 時間帯への変換
まとめ
おそらくOpenRefineはもっとやれることがあると思うので、役立ちそうな機能があれば随時更新(一覧に追加)します。