3.基本操作
3_1 基本操作その1(2019/8/14)
1)基本操作(その1)の実行
それでは、Pandasの基本操作を学習していきましょう。
Pandasは、Python上で稼働しますので、Pythonの基本操作を理解する必要があります。また、Pandasは、NumPyをベースに開発されているという事情がありますので、NumPyについても理解しておく必要があります。
試行では、ssdseのデータを元に説明してきましたが、基本操作は、ssdseを使用しません。ここでは、先ず、Pythonフォルダの下にbasicフォルダを作成してください。c:\Python\basicを作成します。
そして、Warehouseの中の3.基本操作の「基本操作その1」をダウンロードして解凍したbasic1フォルダをc:\Python\basicの下に格納してください。basic1フォルダの中には、basic1.pyプログラムが格納されています。
これで準備は完了です。IPythonを稼働させて、basic1.pyをエディタで開き、コメントを無視して、1行ずつ状況を確認素ながら実行してみてください。要領が理解できてくれば、複数行を一度にコピペして実行しても問題ありません。
最初に実行するカレントフォルダ(IPythonで実行中のフォルダ)をbasic1に指定しています。ここに記載したフォルダ構成で実行していることを前提としていますので、格納しているフォルダが異なる場合は、適宜、basic1.pyのファイルを修正してから、実行してください。basic1.pyに記載している内容を変更して処理したのであれば、basic1.pyの内容も修正した内容で保存してください。また、basic.pyに記載されていない処理を追加して行った場合も変更しておくことをお勧めします。但し、一時的に実行して確認してみただけであれば、記録に残す必要はありません。あくまで、処理の記録であり、再現性を確保するものであることに留意してください。
ダウンロードしたbasic1.pyには、場合分けの一部分を記載しています。全ての場合分けを記載すると煩雑になるからです。basic1.pyに記載されていない場合分けも追加して実行してみてください。また、basic1.pyの記載に倣って、独自の変数等を定義して実行してみてください。エラーになったら、エラーの状況も記録しておくことをお勧めします。あなた自身の学習記録として残してください。
2)書籍による学習
世の中には、沢山のPythonに関する書籍が販売されています。最近は、Pandasに関する書籍も少しですが販売され始めました。もちろん、書籍による学習も意味のあることだと思いますが、ほとんどの書籍は、網羅性を大切にしています。例えば、変数について説明する場合は、全ての変数について説明されています。しかし、実際には、あまり使わない変数もあります。
本ブログでは、コンピュータの環境もPythonの環境も1種類しか扱っていませんし、変数等に関しても本ブログで扱う方法しか説明しません。社会科学のデータ分析をPandasで行うという前提で、よく使うであろうと思われる方法でのみ説明しています。
書籍による学習では、どうしてもあまり使用しない方法に対する説明が記載されていますし、どうしてこのようになるのかの概念や構造の説明にまで及んでしまいがちです。自転車に乗るために、自転車の構造まで理解してもらおうという丁寧な説明になってしまうことが多くなります。そうこうしていくうちに、段々と迷子になってしまい、結果として、理解するのに時間が掛かってしまいます。
本ブログの読者は、やってみることを優先してください。やってみる上で、何かに引っかかった場合、書籍で調べるというのは良いことですので、深入りしない程度で書籍を有効活用してください。
本ブログでは、情報の蓄積スピードが遅いという事がありますので、ご自身の学習スピードに合わせて書籍を有効活用するという考え方もあります。柔軟に対応してください。
但し、システム開発をする必要が無く、データ分析だけをするのであれば、Pythonの文法やオブジェクト指向の概念に深入りするのはお勧めしません。また、PythonやPandasは、どんどん新しくなっていっています。古い発行日の書籍には注意してください。書籍に書いてある通りに実行してもその通りに動かないということは、日常茶飯事です。ある程度確認したら、頭を切り替えて、あきらめてください。ネットなどで最新の情報を確認するようにしてください。
3)ネットの活用
PythonやPandasの情報は、ネット上にあふれています。ネット検索すれば、大抵のことは分かります。但し、書籍と同様に古い情報もあふれています。なるべく、最新の情報で確認するようにしてください。
本ブログでは、Masterの「参考サイト」に、本家の情報ソースを記載しています。公式サイトには、最新の情報が記載されていますので参考になりますが、実際にあなたのパソコンに導入されているライブラリが最新のものであるとは限りません。Anacondaによりライブラリの組合せで動作確認されたバージョンが格納されていますし、Anacondaのバージョン自体も新しくなっていきます。思った通りに動作しない場合は、ご自分のパソコンに格納されているバージョンとネット上の説明されているバージョンが合っているかを確認してください。
私自身もちょっとしたことを調べるのは、書籍より、ネットに頼ることの方が多くなっています。ネットには、情報が古い、新しすぎるという問題の他に、間違えているというケースもあります。なるべく複数のサイトで確認する等の方法で、理解を深めるようにしてください。
4)エラー対応
システムには、エラーがつきものです。そして、人間は間違う生き物です。私自身は、間違いが少ない方であろうと自負していますが、自分のプログラミングを全く信用していません。
例えば、案内文や報告書等を記載する場合、複数ページに渡るような文章であれば、どこかにタイプミスがありますし、誤字脱字だけでなく、文章構成が間違えていたり、複数の意味にとれるような文章になっていることがあります。
データ分析をしようとした場合も、Pythonのプログラムを沢山書くわけですが、同様に記載ミスが発生してしまいます。文法上のミスや未定義の変数を使用した場合等は、IPythonが教えてくれますが、存在する変数に対して間違った記載をした場合や想定外の関数を指定してしまった場合は、IPythonはそのまま処理してしまいます。前提となる処理の記載を忘れた場合や、数値のタイプミスもIPythonは気付いてくれません。
そして、システムは、人間の様に「こんなはずはない!」と思えるようなことに気付いてくれませんし、間違えた記述は、そのまま実行してしまいます。人間は必ず過ちを犯すという前提で、プログラムをチェックするようにしてください。
また、システムが正常に動作しなくなった場合は、当該理由が想定できるのであれば、想定できる理由を試すのは問題ありませんが、それでも動作しない場合は、思いつくことをあれこれ試すのではなく、正常に動作するところに戻って、どこで異常な動作になるのかを探るようにしてください。遠回りに思えるかもしれませんが、多くの場合にこの方法が最も近道になります。正常に戻すことができない場合は、頭の中でシミュレーションすることで順番に事象を辿ってください。
間違いの組合せは膨大にあることが多く、その組合せは無限になります。複数の事象の組合せで考えるのではなく、なるべく次元を少なくして確認するようにしてください。