Pythonを使ったデータ分析 (1)

以前、データ分析でRを使おうとし、Rを勉強してみたがどうもなじめずにいた。
そんなことを思っている内に、Pythonはデータ分析のツールがそろっていることを聞いたので、使ってみることにした。

しかし、ただ単純にAPIとかを覚えても面白くないので、どうしようかと思っていたところ、
ビジネス活用事例で学ぶデータサイエンス入門とい本があるのを思い出し、
この本はRを使って分析しているのだが、これをPythonを使ってみようと思った。

誌面で使用されているデータは、公開されているので、それをダウンロードして使用する。

また、Pythonに関しては、初心者なので、色々と怪しいコードがあるかも。


3章 売り上げ分析

1,2章はデータ分析についての説明をしていて、実際のデータ分析は3章から始まる。
で、3章だが、DAU、DPU、いつインストールしたかのCSVがあり、それらを使用して 売り上げの減少の原因を調べている。

まず、DAU, DPU, インストール情報が記述されている、3つのCSVファイルを読み込む。

CSVファイルを読み込む際、 parse_dates でカラムを指定し、データをdatetimeとして読み込む。 parse_dates=True と指定すると全ての列で日付として読み込もうとするらしい。

次に、この3つのデータを結合させる。

まず、DAUとインストール情報のCSVは、app_nameuse_id のカラムを結合する条件とし、
結合させた。

on を使って明示的に結合するカラムを指定しているが、指定しない場合、同じカラム名をキーとし、
結合するようだ。今回は明示的に指定してみた。

課金情報については、ログインしても、お金を支払わなかった場合があるため、外部結合を行う。 外部結合を行う際は、how を使用する。

how のオプションは

  • left
  • right
  • outer

が存在し、 outer は left join と right join を適用させた動作になるようだ。
今回は、left を指定し、左外部結合を行う。

その際、paymentの行に欠損データが発生するので、fillna(0) を使用し、 欠損データには0を代入するようにした。

ここで、作成したデータの上位5件を user_info[:5] のコマンドで 表示すると以下の結果になる。

log_date app_name user_id install_date payment
0 2013-06-01 game-01 116 2013-04-17 0
1 2013-06-02 game-01 116 2013-04-17 0
2 2013-06-03 game-01 116 2013-04-17 0
3 2013-06-04 game-01 116 2013-04-17 0
4 2013-06-05 game-01 116 2013-04-17 0

とりあえず、今日はここまで。

Contents

comments powered by Disqus