Python学習7日目「『Python for MBA Pythonとデータ分析を実践的に身につける』6章Pythonでデータを探る

Python学習7日目、書籍「『Python for MBA Pythonとデータ分析を実践的に身につける』6章Pythonでデータを探る」P225からスタートです。

※前回の学習実況中継の記事はこちら
※マッタン先生のコードはこちら

学習開始

ModuleNotFoundError: No module named 'matplotlib'

そして早速、エラーがでましたーー!
matplotlib がない、インポートできないそうです。
ググると、インストールする必要があるみたいです。

インポートするには、まずインストールが必要なんですね。
知りませんでした。
同じケースが今後も起きそうですので、
覚えておきたいです。

pip install matplotlib

無事、実行できました。
(毎回、PIPをアップグレードしましょうの注意がでてますが無視)

P232を読んでいて、
plot()がでてきました。
そのまま書かれているコードを入力して実行もできたのですが、
plotって何?
表の違いをみても、よくわかりません。
そこで、ぐぐりました。

2つの因数の関数。
・・・

つまり、xやyに何か数字を入れて、
線やグラフを表現したいときに使う関数ですね!

統計学メモ。平均と標準偏差

P239を読んで、考え付いたアイデア。
「銘柄毎の標準偏差を計算してみて、銘柄研究してみる」

出力結果

count    2806.000000
mean      850.756949
std       195.490367
min       200.000000
25%       739.000000
50%       833.000000
75%       949.000000
max      1396.000000
Name: NUM_ORDERS, dtype: float64

1日
851件の注文数
標準偏差は195件
注文が1日461件を下回る、もしくは、1241件を上回るとアラーム。

※平均値の2つの標準偏差の間に値が収まる。
※標準偏差とは、平均との差。
※この章のデータでは個々のレストランの標準偏差を計算していないので、あくまで概念の説明

ヒストグラムって何?

P240、また不思議な言葉がでました。
ヒストグラム。便利な表らしいです。
どんなときに便利なのか?
とりあえず、こちらの下のコードを入力して表示させてみます。

df_summarized_orders.NUM_ORDERS.plot(kind=’hist’)

表示できました。

さらに、細かい表示にするコード。
df_summarized_orders.NUM_ORDERS.plot(kind=’hist’,bins=30)

無事に表示できました。

どうやら、棒グラフのことみたいです。

エラー「import seaborn as sns」

またエラーがでました。

今日2回目のインポートエラーです。
ググらず、インストールをまずしてみます。

pip install seaborn

しばらく、待つとできました!
ちょっと成長した感じがします^^

P246の疑問。unique関数ってPythonでどんなデータ分析に使うのか?

”一意のレストランをすべて取得するには”と記載あるのですが、
一意のレストランってなに?
それを取得するunique関数って何!!?

言葉から調べました。。

つまり、
summarized_ordersの箱の中には、
色んなオーダー、注文が入ってる。
Aっていうレストランでビール1杯、
Bっていうレストラン でビール3杯、
Aっていうレストランでコーラ2杯、
Cっていうレストラン でビール3杯・・・
みたいな。

そういう場合のデータの中で、
いったい何個のレストランがあるのか知りたい時、
unique関数、つまりunique()を使うんだよってことですね!

30分も調べちゃったよ。
でもおかげで、
頭の中でイメージがしっかりできました。

これを株データの分析で応用するとすれば、
たとえば、
出来高で使えそうです。
ある銘柄の1日の歩み値を取得。

その全部のなかで、何円の取引が多いのか。
それが何件だったか。とかが表にできそう。

「Python for MBA Pythonとデータ分析を実践的に身につける」P247まで来ました。
今日もたくさんのpandasの操作方法を覚えた気がします。
そろそろ集中力切れ気味です。
内容を理解するのに、時間がかかります。
でもまだまだいきます!

次!
6.6データフレームのフィルタリングから。

入力コード
df_students[[True, True, False, False, True, False, False, False,True, ]]

P256で使われている「.shape」ってなんだっけ?

出力結果はこちら。
2275639,10

数字の意味がわかりません。。
解説も、出ましたとまでしかありません。
最初のデータがどの程度の件数だったっけ?
そこで、もう一度、
「.shape」の結果の意味のおさらい。
しっかり覚えておこう。

「.shape」の 結果
(行、列)

200万行もあったのね!!

P258の、(normalize=True)はどんな意味?

normalize の使い方もここまでであまり覚えてませんでした。
復讐すると、
A、B、B、A、 A 、・・・・とたくさんデータが行に入っていたら、
Aは0.9(=90%占めてるよ)
Bは0.1(=10%占めてるよ)

という割合を教えてくれる関数でした。

まだまだ続く、マッタン先生の演算講座。
そろそろギブアップしていいですかね!?

と思ったら、あと数ページで、
曜日にパターンがあるかの説明!
これは必要だ。
がんばるしかない。。

6.7.5 Datatime列でデータ分析

これまで学んだことで、
いよいよデータ分析をはじめます!

df_orders.DATETIME.dt.minute.head()

データフレーム「オーダー」の「分」が一瞬で出ました。
すごい。

df_orders.DATETIME.dt.weekday.head()
これは、月曜=0、日曜=6

時間が欲しいな。どうすれば良いのでしょうか。
これですね。

df_orders.DATETIME.dt.hour.head()

さて、お楽しみの、売り上げパターン。

(df_orders.DATETIME.dt.weekday.value_counts().sort_index().plot(kind=’bar’))

無事に出来ました。週末の売り上げが下がってます。

(df_orders.DATETIME.dt.isocalendar().week.value_counts().sort_index().plot(kind=’line’))

これは、かなりわかりやすいグラフが表示されました。

6.7.6文字列 P267

文字列は、当日のニュースや決裁書関係の情報を集める際、
サイトからスクレイピングに役立ちそうです。
今はざっと見ておきたいです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です