『Python実践データ分析100本ノック』のまとめ(途中)

『Python実践データ分析100本ノック』のまとめ(途中)
1
たー @in_the_rye

今日はこれを読んでデータ分析手法の基本固め。『Python実践データ分析100本ノック』#rettypy a.co/8AwwAtS pic.twitter.com/68AcLp9XN4

2020-01-25 10:22:33
拡大
たー @in_the_rye

ひとまず『Python実践データ分析100本ノック』のサンプルコードをダウンロード。#rettypy shuwasystem.co.jp/support/7980ht…

2020-01-25 11:21:09
たー @in_the_rye

『Python実践データ分析100本ノック』始めようと思ったら、以前のGCPのAPI入れた時の影響でローカルのpython環境が壊れててpandasのimportでwarning吐くようになってる。。。気になって環境再構築とか初めて全然進まないと言うよくあるパターン。 #rettypy

2020-01-25 12:18:53
たー @in_the_rye

だいぶタイムロスしてしまったけど『Python実践データ分析100本ノック』開始! #rettypy

2020-01-25 14:15:46
たー @in_the_rye

『Python実践データ分析100本ノック』一章。縦結合をユニオンっ呼んで、横結合をジョインって呼ぶのSQLとの対比を考えてなんだろうけど、ユニオンは重複行排除がデフォルトなイメージがあるのでちょっとそこがconcatのイメージと違う。 #rettypy

2020-01-25 14:51:03
たー @in_the_rye

『Python実践データ分析100本ノック』一章は流石に愚直に全部やるのはしんどいな、まずは知見が得られそうなところがないかざっと見るか。 #rettypy

2020-01-25 14:58:43
たー @in_the_rye

『Python実践データ分析100本ノック』一章ノック7、df.isnull().sum()はあんまり使わないなーと思ったら、いつもだいたいisna()使うからだった。isunll()はisna()のエイリアスっぽい。 #rettypy

2020-01-25 15:12:41
たー @in_the_rye

『Python実践データ分析100本ノック』一章ノック8。datetime64型に変換するのよくするけどpd.to_datetime()ってあんまり使わないな。だいたいastype(‘datetime64’)で変換する気がする。どっちがいいんだろう? #rettypy

2020-01-25 15:19:57
たー @in_the_rye

『Python実践データ分析100本ノック』一章ノック8。join_data["payment_date"].dt.strftime(“%Y%m”)にあるような dt アクセサってあんまり使ったことなかったけど、これ便利な気がする。 #rettypy

2020-01-25 15:58:05
たー @in_the_rye

『Python実践データ分析100本ノック』一章ノック9。そういえば、pd.pivot_table()って自分はあまり使わない気がする。個人的に表でのデータ表現を考えるくらいならグラフ化しちゃえって思うことが多いからかもしれない。 #rettypy

2020-01-25 16:04:21
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック14。uriage_data["item_name"].str.upper()とかstrアクセサを使って文字列操作するのか。自分は比較的何でもかんでもapply(lambda x: x.upper())とかでやっちゃうけど、型を意識できるからこちらの方が良いな。 #rettypy

2020-01-25 16:34:41
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック15。欠損値補完のためにisnull()がTrueの行に対して、max値を埋めるようにループ回してるけどこれループ回す必要ないのでは? #rettypy

2020-01-25 16:51:40
たー @in_the_rye

#rettypy に引き続き #pyhack でも、『Python実践データ分析100本ノック』の続きをやる。

2020-02-01 11:48:01
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック15。ループの代わりに、 uriage_data["item_price"] = uriage_data["item_price"].apply(lambda x: uriage_data["item_price"].max() if np.isnan(x) else x) とかダメかな? #pyhack

2020-02-01 11:50:45
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック15。nullを単純にmaxで埋めてるだけかと思ったら、同じ商品に関してはその金額を入れてるのか。何れにせよlambdaはやめて関数化して適用すればループは使わなくて済む気がする。 #pyhack

2020-02-01 12:08:41
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック15。と思ったけどこれユニークな商品名単位でループしてるだけだからそんなに効率悪くないな。同じ商品名のデータフレームにはまとめてNull補完処理をしているのか。 #pyhack

2020-02-01 12:28:57
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック15。それにしても、特定のデータフレームのレコードだけを抜き出したもの作る時に loc[x]でxにbooleanのSeries渡して抜き出すのあんまりやって無かった。楽だなこれ。loc[~x]でFalseを抜き出すことも可能。 #pyhack

2020-02-01 14:02:28
たー @in_the_rye

『Python実践データ分析100本ノック』二章ノック20。pivot_table化する時は数字だけを見るのは辛いので、ヒートマップまで作ってしまうのが良い気がした。 import seaborn as sns sns.heatmap(byRegion, annot=True) フォント指定しないと文字が化けるけど。 #pyhack

2020-02-01 14:43:26
たー @in_the_rye

『Python実践データ分析100本ノック』三章ノック23。groupbyする項目を色々変えてcustomer_idのcountを集計。この本としてのオススメは結局1カラムの情報集計はgroupby()で、2カラム集計はpivot_table()が見やすいよっていうことなんだと理解。 #pyhack

2020-02-01 14:59:34
たー @in_the_rye

『Python実践データ分析100本ノック』三章ノック26。 あまり、こういうビジネスデータの分析をやったことないからdt.weekdayとか使ったことなかった。0が月曜日なのはヨーロッパ式? #pyhack

2020-02-01 15:16:06
たー @in_the_rye

『Python実践データ分析100本ノック』三章ノック27。これまでもなんども出て来てるけど、ジョインしたあとは、isnull().sum()で欠損値の確認が鉄板と理解。inner joinじゃないと必ず欠損値が出てくるから。 #pyhack

2020-02-01 15:24:16
たー @in_the_rye

『Python実践データ分析100本ノック』三章ノック30。予定調和感があるけど、退会ユーザーのroutine_flgの平均値が0.45で継続ユーザーは0.98なので定性的にみて習慣化するのが継続に効いているという結論となっている。 #pyhack

2020-02-01 15:58:25
たー @in_the_rye

『Python実践データ分析100本ノック』四章ノック32。この辺からようやく分析っぽくなって来た。K-means法でのクラスタリング。 #pyhack

2020-02-01 16:32:03
たー @in_the_rye

『Python実践データ分析100本ノック』四章ノック32。うーん、menbership_periodに引きずられるから標準化が必要とのことだけど、K-means法ってイタレーションを繰り返してクラスタの重心点を更新していくと思うので、別に標準化は必要ないのではと思ってしまうが、どうなんだろう? #pyhack

2020-02-01 16:53:34
たー @in_the_rye

『Python実践データ分析100本ノック』四章ノック32。いややっぱり標準化(値のノーマライズ)は必要か。そうしないと、重心点からの距離を求めてどのクラスタに含めるかを考える時に確かに影響が出る。 #pyhack

2020-02-01 17:06:25