目次 †
はじめに †
Pythonでデータ分析支援ライブラリーのpandas、機械学習ライブラリーのscikit-learn、実行環境のJupyter Notebookを使ってデータ分析をするときには、サンプル・プログラムを真似するだけで、Pythonのことをあまりよく知らなくてもできます。
しかし、特徴を増やしたり、データを間引いたりするときには、Pythonのことが少しわかっていないとできません。
ここでは、Pythonについて簡単に説明します。
プログラムの実行 †
Pythonは、インタープリター形式のプログラミング言語です。 Pythonプログラムは、1行ずつ機械語に翻訳され、実行されます。
プログラムの構造 †
Pythonプログラムは、インデントでブロックを表します。
同じインデントが続いている間は、同じブロックであると解釈されます。
x = 0 if x > 0: print('A') print('B') print('C')
C
x = 0 if x > 0: print('A') print('B') print('C')
B C
コメント †
ハッシュ記号 # の後からその行の最後までは、コメントとして扱われ、無視されます。
print('Hello') # コメント
複数行をまとめてコメントにするときは、シングル・クオーテーション3つ ''' で囲むか、ダブル・クオーテーション3つ """ で囲みます。
print('Hello') ''' コメント コメント '''
タプルとリスト †
複数の変数をまとめて扱うのがタプルとリストです。 タプルとリストの違いは、タプルが一度生成したら変更できないのに対し、リストは要素の追加や削除ができます。 配列とは違い、型が異なる変数を扱うことができます。
タプルは、複数の要素をコンマ , で区切り、丸括弧 () で囲みます。
tuple = (1, 2, 3) print(tuple[0])
1
リストは、角括弧 [] で囲みます。
list = [1, 2, 3] print(list[0])
1
ディクショナリー †
番号でないインデックスをキーとして指定して値にアクセスするデータ構造です。
キーと値をコロン : でつなげて指定し、波括弧 {} で囲みます。 キーと値の組みが複数ある場合は、コンマ , で区切ります。
dict = {'no':1, 'name':'Tohgoroh Matsui'} print(dict['no'])
1
セット †
重複した要素が含まれない集合です。
要素をコンマ , で区切り、波括弧 {} で囲みます。
set = {1, 2, 3, 2, 1} print(set)
{1, 2, 3}
スライス †
タプル、リスト、文字列など、要素に順序があるシーケンスの範囲を指定します。
シーケンスの要素にアクセスするときに使う角括弧 [] の中で、開始位置、終了位置、増分をコロン : で区切って指定します。 開始位置と終了位置だけを指定することもできます。 開始位置を省略すると先頭、終了位置を省略すると末尾として処理されます。 また、負の値を指定すると、末尾からの位置を指定できます。
list = [1, 2, 3, 4, 5] print(list[2:4]) print(list[:3]) print(list[2:]) print(list[:-1])
[3, 4] [1, 2, 3] [3, 4, 5] [1, 2, 3, 4]
if文 †
条件分岐を行います。
if の後に(空白を入れて)条件を書き、コロン : をつけます。 条件が満たされたときに行う処理を、インデントを一段下げて書きます。
条件が満たされなかったとき、二番目以後の条件を書くには elif を使います。
全ての条件が満たされなかったときを表すには else を使います。
if x == 0: print('A') elif x == 1: print('B') else: print('C')
while文 †
繰り返し処理を行います。
while の後に(空白を入れて)条件を書き、コロン : をつけます。 条件が満たされている間繰り返し行う処理を、インデントを一段下げて書きます。
i = 1 sum = 0 while i <= 10: sum += i i += 1 print(sum)
for文 †
反復処理が可能なオブジェクトに対して、繰り返し処理を行います。
for の後に(空白を入れて)変数名を書き、(空白を入れて)in の後に(空白を入れて)反復処理の対象となるオブジェクト名を書き、コロン : をつけます。 繰り返し行う処理を、インデントを一段下げて書きます。 指定したオブジェクトから要素が一つずつ取り出されて、指定した変数に格納されます。
list = [1, 2, 3, 4, 5] sum = 0 for i in list: sum += i print(sum)
関数 †
関数は、def の後に(空白を入れて)関数名、丸括弧 () の中に引数を , で区切って書き、コロン : をつけます。 関数の中に含まれる処理を、インデントを一段下げて書きます。
引数には初期値を指定することができ、初期値を指定すると、呼び出すときに省略可能なオプションとなります。
戻り値は、return文で指定します。 一度に複数の戻り値を返すことができ、コンマで区切って指定します。
def add(x1, x2, x3=0): return x1 + x2 + x3 y = add(1, 2) print(y)
def maxmin(x1, x2): max = x1 if x1 > x2 else x2 min = x2 if x1 > x2 else x1 return max, min y1, y2 = maxmin(1, 2) print(y1, y2)