【書評・エラー対処】Python実践データ分析100本ノック

※アフィリエイト広告を利用しています。

本

はじめに

「データ分析を始めてみたい!」「データサイエンティストになりたい!」と思った方、本でいろいろと勉強したいと思った方、こちらの本から勉強をはじめることはかなりオススメできます!

以下では、書籍Python実践データ分析100本ノックに興味がある方に向けて、誰もが気になる「対象読者は誰?」「どんな内容なの?」「書籍で勉強していたところ、エラーがでたときの対処法は?」ということに対して、的確に答えています。

購入の参考になれば幸いです。

総評

対象読者
データ分析を始めたい初級者。ただ、プログラミングを一度もしたことないような全くの初心者には、少し難しく感じると思います。Pythonでコードを打ったことがあるとか、データの前処理やデータの整理の練習問題をしたことがある人には、すごく参考になる書籍だと思います。

サンプルコード
書籍を進めていく中でどうしても先に進めない、わからない場合利用しましょう。サンプルコードをコピペしてコード結果みるという方法も有効です。

特徴
●Pythonで行うデータ分析の入門書
100本の実践的な問題を解くことで、データ分析の基礎を学ぶことができる
●データ分析を行う際によく使われるライブラリであるNumPy、Pandas、Matplotlibについて実践できる

Google colobでサンプルコードを使用する場合について1点注意です。

サンプルコードをgoogleドライブにアップロードし、ノートブックを起動したら、ノートが破損しているとのエラーがでました。

原因は、デスクトップ上にダウンロードしたサンプルコードをまとめてドライブにアップロードしたことでした。1個1個ドライブにアップロードしたら、無事に動きました。

同じようなエラーが出た方はご参考までに。

1章終えた感覚:簡単!

前述したようにデータサイエンス100本ノックーデータサイエンティスト協会を既にやっていたので、回答を読まないでも1章の内容はわかりました。

本書はコードの意味とか解説は少なめです。

そのため、Pythonのコードの解説を知りたいという人は、下記のブログ記事を参考に先にデータサイエンス100本ノックーデータサイエンティスト協会をするのがオススメです。

2章終えた感覚:スピード感を感じました。結構早く進みます!!

2章は書籍の解説が豊富です。ネットで調べながら解いていったデータサイエンス100本ノックーデータサイエンティスト協会と比べてサクサク進みます。

また、章末のコラムにありました「Excelデータを使用したときに、2日日付がずれる」というのは、はじめて知りました!!

3章終えた感覚:1章,2章の復習

for文とか関数等は写経するだけでも勉強になります。

4章終えた感覚:ライブラリーの説明はタンパク

scikit-learnmatplotlibについての構文内容がわからない方は、ネットで調べながら解くといいです!

5章を終えた感覚:エラーがでたので時間がかかった。

ノック42 7行目は「exit_date」と記述されていますが、正確には「end_date」ですかね。

「exit_date」のまま進めると、Can only use .dt accessor with datetimelike values のエラーがでました。これの原因はdatetimeになっていませんよっということだと思いますが、上記にあるとおり、datetimeにしているのは、「exit_date」ではなくて、「end_date」ですので。

ノック50 以下のエラーがでました

ValueError: X has 8 features, but DecisionTreeClassifier is expecting 9 features as input.

つまり、input_dataには8つの特徴量しかなく、設定されている決定木モデルの特徴量は9つというエラー。よって、input_dataに足りないものがあります

よくみてみると、変数の定義にis_deletedがありません。そのため、periodの次にis_deleted = 0が必要です。

同じくその下のinput_dataのリストにも追加が必要。

6章を終えた感覚:ノック53からは今までの練習問題と毛色が違いました。

最適化の問題です。過去にもこの手の問題はやったことはありませんでした。計算式も何を書いてあるかわからないので、ひとまず写経しました。

ノック51 「left_on=’ToFC’,right_on=’FCID’」だとFCID_x_yができてしまいます。

よって、図6-3と同じ結果を出すには、on=’FCID’にする必要があります。

同様に図6-4と同じ結果を出すには、left_on=’FromWH’ right_on =’WHID’ではなく、on=’WHID’にする必要があります。

7章を終えた感覚:このあたりから1ノックのコードが長い。。。

ノック61  pulportoolpyエラーが出るところについては、!pip installを入れて、それぞれインストールしてください。

なお、ノック62はサンプルコードの回答をコピペして実行したき、以下のようなエラーがでました。

‘function’ object has no attribute ‘columns’

しかし、理由は簡単でした。df_tr = df_tr_sol.copyとしていて、df_tr = df_tr_sol.copy()としていなかったからです。結構copyの後の()忘れることあるので、要注意だなと思いました。

8章を終えた感覚:難しく感じました。

というか、何をコードで書いているかわからないので、写経だけしました。

9章を終えた感覚:google colobと相性がわるい。

cv2が開かない。よって、matplotlibでやりました。そのコードを書きに記します。

import matplotlib.pyplot as plt
img_plt = cv2.imread('/content/drive/MyDrive/100knock syuwa/9章/img/img01.jpg')
height,width = img.shape[:2]
print('画像幅:'+str(width))
print('画像高さ:'+str(height))
plt.imshow(img_plt)

ノック83も別の方法で読み込みました。

from google.colab import files
files.upload()

10章を終えた感覚:5章より前のレベルに戻ってきた感覚。

つまり、コードで何を書いているのか理解できるレベル(5章と同じくらいの難易度のレベル)です!

ノック95 MeCabのインストール。少し時間かかります

!apt install aptitude
!aptitude install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file -y
!pip install mecab-python3==0.7

以上、データサイエンスデータ分析初級者には、すごく参考になる書籍です。

第2版が6月15日発刊

第2版が2022年6月15日に発刊されました。

初版の部分からの大きい違いとしては、以下の部分が追加され100本ノックから実質28問追加されたので、128本ノックとなっています。

朝練 100本ノックに備えて準備運動を行いましょう。
 序章 朝練
  朝練1:Google Colaboratoryをつかってみよう
  朝練2:プログラムを書いて実行してみよう
  朝練3:変数を使ってみよう
  朝練4:ライブラリを使ってみよう
  朝練5:コードセルを分けて効率よくプログラミングをしよう
  朝練6:本書のサンプルプログラムをGoogle Colaboratoryで動かしてみよう
  朝練7:Google Driveからデータを参照してみよう
  朝練8:絶対パスと相対パスについて

放課後練 さらなる挑戦
 第11章 深層学習に挑戦する10本ノック
  放課後ノック101:深層学習に必要なデータを準備しよう
  放課後ノック102:深層学習モデルを構築しよう
  放課後ノック103:モデルの評価をしてみよう
  放課後ノック104:モデルを使った予測をしてみよう
  放課後ノック105:物体検出YOLOを使って人の検出を行ってみよう
  放課後ノック106:YOLOの学習を行うための準備をしよう
  放課後ノック107:新たな学習データを使ってYOLOの学習モデルを生成してみよう
  放課後ノック108:新たに学習させたモデルを使って人の検出を行ってみよう
  放課後ノック109:YOLOとHOGの人の検出結果を比較して深層学習の精度を体感しよう
  放課後ノック110:YOLOでの人以外の物体の検出のようすを確認しよう
 第12章 データ加工に挑戦する10本ノック
  放課後ノック111:“よくある”エクセルデータに挑戦
  放課後ノック112:エクセルの社員マスタ加工に挑戦
  放課後ノック113:正規化に挑戦
  放課後ノック114:外れ値の加工に挑戦
  放課後ノック115:欠損値の補完に挑戦
  放課後ノック116:データのスクランブル化に挑戦
  放課後ノック117:文字コードの自動判定に挑戦
  放課後ノック118:センサーデータの加工に挑戦
  放課後ノック119:JSON形式に挑戦
  放課後ノック120:SQLiteに挑戦

Pythonデータ分析を学びはじめたいがどれからやろうか悩んでいる方には、まずは、この書籍をご購読ください!

この128本のノックを終えたころには、Pythonのコード基本的なところはもちろん、実際データ分析で扱うデータの処理の方法が身についています!

Pythonでデータ分析を学びたい方へ

Pythonでデータ分析を学びたい方向けのブログ記事をまとめていますので、ご興味ありましたらご覧ください。

データサイエンス興味がある人、データサイエンティストなりたい人、データ分析をはじめてみたい人向けに、学習レベル別にオススメの書籍を紹介しています。
>>【レベル別】データサイエンス・データ分析の本まとめ(Python)

自信をもってオススメできる厳選動画をまとめてみました!!
>>【オススメ】データサイエンス・データ分析を学べる動画をまとめました(Python)

独学データ分析を学ぶにはどうしたらいいかについてもまとめていますのでこちらもご覧ください。
>>【独学】プログラミングとデータ分析(勉強法・資格・本・動画・テキスト)