Learning

4.標準操作(2021/2/19)

はじめに

 基本操作で、Pythonの基本的な操作を学んでもらいました。
 本ブログで学習しているのは、Pythonによるプログラミングではありませんので、一般的なプログラム制御の方法(例えば、条件分岐、ループ処理、関数定義、クラス定義等)は、学習の対象にしていません。
 本ブログでは、データ分析の実施方法を学ぶことを目的としていますので、プログラム制御を使用しないで、順次処理だけで完結したデータ分析を推奨しています。
 プログラミングを学んだ経験のある人であれば、プログラム制御なしで順序処理だけで完結するといわれると違和感があるかもしれません。しかし、データ分析は、与えられたデータをチェックして、加工しながら分析を進めていくのが基本ですので、順次処理で完結させた方が間違いがなく、確実なデータ分析が行えることになります。プログラム経験がある人は、プログラム制御を活用して、データ処理をしがちですが、順次処理だけで行うことをなるべく心掛けるようにしてください。
 順次処理だけで行う最大のメリットは、実施ステップごとにデータの内容の検証ができるということにあります。処理を1つ実施して、その結果を確認しながら処理を進めることで、データ処理の動きを確実に把握することができます。また、思った結果になっていない場合は、最初から順番に実施し直すことで再確認が可能になります。どこで間違いがあったのかが、直ぐに分かるということです。
 もし、プログラム制御を伴った構造的な処理をしていた場合は、間違いの箇所を突き止めるのは容易ではありませんし、間違いが起きたことさえ分からない、つまり、バグ(プログラムの欠陥・不具合)を含んだプログラムを作成してしまいかねないということになります。間違ったデータ分析をしていても気が付かないということは、大きな問題です。
 人間は間違える生き物です。多くのシステム開発に携わったプログラマーであれば、バグを1つも作らずにプログラミングするというのは、奇跡的なことだと理解してもらえると思います。システム障害を発生させないために、大量のテスト人員を費やしているのが現状です。しかし、データ分析は、1人、若しくはわずかな人員で行うことが多いものです。バグを発生させない、確実な処理方法で進めることをお勧めします。
 本ブログでは、IPython上で対話しながらステップごとに実行する順次処理を基本としています。IPythonでは、変数名等の入力において、途中まで入力するとそれ以降を補完してくれる機能がありますし、変数の状況を対話式に確認することもできます。計算機が無くても、件数等の確認のための演算もできます。Sublime Textによるテキストエディタで管理すれば、選択した変数のハイライティング、括弧の補完等、Pythonの言語仕様に従ったプログラム編集が可能になります。この様な環境を活用し、ステップ毎に確認しながら順次処理をしていってください。

 この項では、順次処理の標準的な方法を実際のプログラムで学んでください。
 尚、Pythonのプログラムをエディタで編集しながら、Anaconda PromptでIPythonを実行し、そこにプログラムをコピー&ペーストして実行することになりますが、プログラムは、1命令毎にコピー&ペーストして実行し、1命令毎(1命令が複数行に渡って記述されている場合もある)に結果を確認しながら進めてください。複数命令を同時にコピー&ペーストすることで、複数命令を一度に実行することもできますが、一度に実行すると思い通りに処理されないこともありますので、慣れないうちは、1命令毎に確認して進めてください。
 では、やってみましょう!