Pythonでデータ分析する次の一歩(プログラミング言語、Python編)

2017-09-03 (日) 00:42:24 (2421d) | Topic path: Top / 機械学習 / Pythonでデータ分析する次の一歩(プログラミング言語、Python編)

目次

はじめに

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)
トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS