データ読み込みに大苦戦(pandas)

pythonのデータ分析学習に使っている参考書でnumpyの基礎処理も学んだのですが、pandasの節に入って個人的に今までで一番足踏みしてしまった部分があったのでブログを書きます。

もしかしたらかなりレベルの低い躓きかも知れませんが初めてpythonの学習でこんなにも悩んで、そして自分で解決できた喜びも感じたので紹介させてください。

 

 

1.なんでうまくできないん??(csvファイル、Excelファイル)

いつものように参考書通りに勉強を進めているとそいつは急に現れました。ちょうど参考書のpandas節のデータ読み込みのセクションでした。

参考書通りのコードを打ってもエラーが出る!?!?!?!?!?!?

f:id:kaitadayo:20200514234237p:plain

実際にでたエラー

f:id:kaitadayo:20200514234336p:plain

実際にでたエラー②

参考書を信じて疑わない僕にとっては全く理解できませんでした。ファイルもちゃんとpc内に存在しているのに、、why???ここから長い戦いが始まりました。

2.試したこと

2-1.pipでとりあえず色々インストール。 

ますはじめに試したことは参考書を遡って、新しい仮想環境でpipで各ツール、パッケージをinstallし直すことです。numpy、scipy、pandas、matplotlib、scikit-learn、xlrd、openpyxl、lxmlをinstallしました。(正直言うとnumpyとpandas以外はまだどこで使うのか良くわかっていない)

installはしてみたものの、結局とりあえずやってみただけでなんの解決策にもなりませんでした。

2-2.ファイルの保存先を変える

ファイルはダウンロードしてあっただけなので個別にフォルダを作って保存してみたり、pythonの資料とか今までのコードを保存してあるフォルダに保存してみたり、デスクトップに保存してみたりしましたが、解決しませんでした。

2-3.Anacondaをインストールしてみる

Anacondaは多くの pythonパッケージが入っているpythonディストリビューションです。Anacondaを一つインストールするだけで様々なパッケージが利用可能です。(下にAnacondaのインストールURLを貼っておきます)

www.anaconda.com

なのでターミナルからではなくAnacondaからjupyter notebookを立ち上げて試してみましたが解決しませんでした。

3.ファイルパスとの出会い

自分なりに試した結果が全てダメでなかなか先に進めず、ムカついて参考書を叩きつけたりしてみましたがもちろん現状維持。

そんな現状を打破してくれたのがファイルパスです。きっかけはインターンで戦っている友人の「エラーコードをそのままコピペして調べてみたら?」という助言でした。

言われた通りコピペしてみたら同じ壁に当たった人達とそれに助言している人達が大量に出てきました。笑

それを読み漁るとどうやらファイルの指定の仕方が違うということに気が付きました。

3-1.ファイルパスとは

ファイルパスは簡単にいうと(自分の解釈では)ファイルへ導く道標のようなものです。例えば「/Users /murakamikaita/downlords/notebooks/data/2017health.csv」というファイルパスがあるとすると、

”/Users/murakamikaita"→murakamikaitaが使っているpcの

"downloads/notebooks/data"→downloadsというフォルダの中のnotebooksというフォルダの中のdataというフォルダの中にある

”2017health.csv"→2017health.csvというファイルだよ

という意味になります。

つまり、2017health.csvがデスクトップにあるときのファイルパスは

「/Users/murakamikaita/Desktop/201705health.csv」となるわけです。

こんだけ教えてあげないとファイルの一つも探せねーのかよって思いました。案外アホじゃんって。

ちなみmacosではファイルを右クリック状態(controlキー)でoptionキーを押すとそのファイルのパスをコピーする事ができます。

3-2.ファイルパス指定により解決

もうこれでできなかったら参考書捨てようと思いながらファイルパスを指定してコードを実行させてみると

f:id:kaitadayo:20200515004542p:plain

できたーーーーー!!!!!

ついにファイルを読み込む事ができました。嬉しかった。

4.感想

今回の件でただ漠然と参考書通りに学習するだけじゃダメだと痛感しました。初心者の躓きは絶対に先人達が先に躓き、そして解決してくれていると知りました。躓いたら調べまくる。そうすれば解決するし、その過程で新たな知識を得る事ができます。小さいステップではありましたが、良い成功体験になりました。この調子でとっととこの参考書とお別れしたります!

終わり!