データラングリングが分析者にとってなぜ必須のスキルなのか

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/219e27db-e611-c547-5bf1-8b9e263e3f82.png)


データサイエンスやデータ分析と言うと、難しいアルゴリズムなどを使って驚くようなインサイトを導き出すというイメージがあるかもしれません。

しかし、実はデータサイエンスの80％ほどの時間は「データラングリング」というデータの整形や加工作業に費やされています。

一部では「前処理」と言われたりもしますが、例え「前処理」が終わったきれいなデータであっても、データを分析する際に次から次へと出てくる様々な質問に答えるためには、データの形を柔軟に変え、様々な計算処理を行っていく必要があります。

ここで、実際に例を2つほど見てみましょう。

# 名寄せの問題

下にあるのはユニコーン企業とその投資家（Select Investors）のデータです。投資家の列を見ると、同じSoftbankでも別々の表記になったデータが入っています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/841cebd4-89ee-c6dc-551a-26133b67c50d.png)

ここで問題となるのは、投資家の件数を集計しようとした際に、表記が異なることで別々な「投資家」として数えらてしまうということです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/9c76b737-e334-92ca-785b-2e7cd9663005.png)

こういった場合は、同じ意味を表す値を同じ文字として揃える必要があります。一般的には「名寄せ」などと呼ばれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/94f7c258-8236-6597-3eba-1b8e60d59144.png)

Exploratoryでは「テキストデータの加工」のUIを使って名前を揃えることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/1f5c7b8e-a384-fe9e-0254-190d0b6ee2bd.png)

# 横長のデータを縦長にする

下にあるのはAppleが公開している世界の移動傾向データです。このデータは日ごとに値があるのですが、それぞれの日が列となっているため、横に長くなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/d13b4085-5c0c-a907-3ec3-05a909130c5a.png)


このデータを使って、ラインチャートで移動傾向を可視化したいとしましょう。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/380391f9-3e2b-30ce-25e3-721898ad2b2c.png)

しかし、このデータは日ごとに列があるために、X軸に対して日付列を割り当てることができず、時系列の推移を可視化できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/232b458a-5948-c47e-35bd-26c1c3979f02.png)

こうした問題は、日付ごとに列が分かれている横長のデータを、日付と値の2列にまとめた縦長のデータに変換することで解決できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/931ae8c9-e4f9-f77b-7aee-22761628f705.png)


一度縦長のデータにすると、後はそれぞれの列をチャートに割り当てるだけで、移動データの日毎の推移を簡単に可視化できるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/90d28804-5c66-67c1-10c2-081a94615a65.png)


Exploratoryでは、「ワイド型からロング型へ変換」のUIを使ってこうしたデータの形を簡単に変えることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/8b0205a2-d56e-1d21-51d7-9a2f87c806c4.png)

Appleの移動傾向データのように、データの形を「横持ち」から「縦持ち」のデータに変えることで可視化ができるようなり、データから知識を得られるようになっていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/f0f81b5a-b142-5807-d47d-ba6c9461ef4f.png)

上記の2つの例で見てきたように、必要に応じて様々なデータラングリングの手法を使ってデータを柔軟に、そして素早く加工、整形することができれば、データの分析、可視化のレベルが一気に上がり、よりクオリティの高いインサイトをデータから導き出すことができるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192148/0ee770b1-74a9-fd75-3ed7-0a02fe12f5a3.png)

# データラングリングのスキルを向上するための6つのステップ

それではデータラングリングのスキルを習得、さらに向上するためにはどうしたらいいのでしょうか。

そこで次に挙げる6つのステップ（[参照](https://www.mygreatlearning.com/blog/what-is-data-wrangling-tools-advantages-skills/)）が参考になると思います。


## 1. データの理解

データラングリングの最初のステップは、手に入れたデータをじっくりと観察し、どういった情報が含まれているかを理解します。その上で、このデータを使って何を知りたいのか、そのためにはどのようにラングリングすればいいのかの道筋を作ります。

## 2. データの構造の変換

このステップでは、データを可視化や分析などの目的に合わせてデータの持ち方整えることを意味します。例えば、データの持ち方を横持ちから縦持ちに変えたり、一つのセルに含まれている複数の値を行や列に分割するなどの作業を含みます。

## 3. データのクリーンアップ

このステップでは、データに不必要な情報や必要以上にある情報を削ぎ落とし、データを綺麗に整えていくことを意味します。データには表記揺れや欠損値、外れ値が含まれていることがありますが、それらを整えていくことで分析した際の正確性を向上させます。

## 4. データに付加価値をつける

データが綺麗に整えられた後でも、分析の準備が整っているとは限りません。別のデータと紐づけたり、新たな計算処理を行うことで、データが持つ価値を向上させ、より深い分析ができるようになります。

## 5. データの品質の検証

データを整形したり、追加の計算処理を加えたりといったデータラングリングのタスクが一通り終わった際に気をつけなくてはいけないのは、そのデータの品質です。間違いがないのか、期待通りのデータとなっているのかを実行結果を元に検証する必要があります。

## 6. データの共有と再現性

必要なデータを作り上げることができたなら、たいていの場合はそのデータを他の人たちと共有し、さらなる分析やレポート作成へと進んでいくことになります。この際に、他の人達から追加のデータの加工や計算に関する要件がよく入ってくるものです。また、これまでに作り上げたデータラングリングのプロセスを新しいデータに対して適用して欲しいといったリクエストも上げってきたりします。

そうした際に重要なのは、データラングリングの再現性です。これまでに行ったデータ加工や計算のプロセスをいつでも流し直すことができ、さらに他のデータに対して使えるようになっていれば、チーム全体でのデータラングリングにかかる時間は圧倒的に短縮でき、そのことで分析やレポート作成のスピードが一気に上がることとなります。


こうした6つのステップを通して、データを自由自在に扱い、データラングリングを効率的にこなしていけるようになれば、あなただけでなく、チーム全体のデータサイエンス力が一気に上がります。

データラングリングの話はデータサイエンスの話をする際に無視されがちですが、データラングリングはデータサイエンスの中でも特に重要なスキルなのです。


# データラングリング・トレーニング、2024年1月開催決定！

データラングリングの手法を1から体系的に、そして効果的に身に着けていただくために、データラングリング・トレーニングを2024年1月に開催します！

データを自由自在に操れることで、実は思った以上に役に立つデータが身の回りにあるということに気づかれるはずです。そして思った以上にデータを使って答えることのできる質問がこの世の中には多くあるということにも気づいていただけると思っております。

興味がある方はぜひ参加をご検討ください。

https://exploratory.io/data-wrangling-training-jp