Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
39
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@keita69sawada

【まとめ】OpenRefineの使い方をまとめていく

image

ども、keita69sawada です。

 OpenRefineというデータ整形(データ前処理)ツールが非常に素晴らしいと感じたので、是非皆さんにも使ってもらいたいと思い、Qiitaに使い方をまとめることにしました。

 しかし、私はデータエンジニア(データサイエンティスト)ではないので、「データ整形(データ前処理)とはどういった処理なのか?」を理解していないため、前処理大全の目次からできそうなものをOpenRefineでやってみることにしました。

OpenRefineとは

何ができるのか?

image
画面に一文で「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でデータ整形できるか試していき、随時Qiitaに投稿していきます。

名寄せ

抽出

  • データ列指定による抽出
  • 条件指定による抽出
  • データ値に基づかないサンプリング
  • サンプリング

集約

  • データ数,種類数の算出
  • 合計値の算出
  • 極値,代表値の算出
  • ばらつき具合の算出
  • 最頻値の算出
  • 順位の算出

結合

  • マスタテーブルの結合
  • 条件に応じた結合テーブルの切り替え
  • 過去データの結合
  • 全結合

分割

数値型

  • 数値型への変換
  • 外れ値の除去

カテゴリ型

  • カテゴリ型の数値化

日時型

  • 日時型,日付型への変換
  • 年/月/日/時刻/分/秒/曜日への変換
  • 日時差への変換
  • 日時型の増減
  • 時間帯への変換

まとめ

 おそらくOpenRefineはもっとやれることがあると思うので、役立ちそうな機能があれば随時更新(一覧に追加)します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
39
Help us understand the problem. What are the problem?