Python,Anaconda,Spyder,jupyter,orange

  • Python:コードを一行ずつ直接実行(インタプリタ)でき、データ分析のパッケージが充実しているプログラミング言語
  • Anaconda:データ分析向けのPythonのディストリビューション(ソフトウェアの集まり)。Pythonのデータ分析でほとんど必ず用いられるpandasやその他多くのパッケージ、統合開発環境Spyderなどデータ分析に必要なソフトウェアを簡単にインストールし使うことができる。
  • Spyder:Pythonの統合開発環境(IDE)。コードを書く道具をエディタと呼ぶが、IDEはエディタの他にもプログラミングに必要な様々な機能を持たせたもの。SpyderはPythonのIDEの中でもデータ分析のプログラマーによく使われている。
  • jupyter:エディタとしての機能とドキュメントとしての機能を提供し、プログラミングの学習を効率化できるツール。
  • orange:プログラミングなしにデータ分析、可視化、機械学習を行うことができるPythonで書かれたツール。

pythonとjupyter

jupyterはプログラムの説明に便利。spyderはデータ処理の開発環境に使い、説明にはjupyterを使うのが良い。ここでは、jupyterを使ってPythonの基礎を説明する。

pythonの基礎

簡単な数値計算のコードから書いてみる。


In [2]:
x = 4 - 1
print(x)
y = x + 5
print(y)
x = x * 2
print(x)


3
8
6

In [3]:
y = x ** 2
print(y)
z = y / 5
print(z)
z = y // 5#商
print(z)
z = y % 5#剰余
print(z)
print(-z)
x += 3
print(x)


36
7.2
7
1
-1
9

pythonで文字列処理をしてみる。文字列はシングルクォート''またはダブルクォート""で囲む。


In [4]:
a = 'red'
b = "blue"
print(a)
print(b)
print('green',5)


red
blue
green 5

In [5]:
c = a + b#-はない
print(c)
d = a * 2#/はない
print(d)
e = ''#空白文字列
print(e)


redblue
redred


In [6]:
print(b[0])
print(b[2])


b
u

In [7]:
print(b[:2])
print(b[1:3])#[1,3)
print(b[2:])
print(b[-2:])
print(b[1:-2])


bl
lu
ue
ue
l

型を調べる。


In [8]:
print(type(x))
t = type(a)
print(t)
print(type(x/3))


<class 'int'>
<class 'str'>
<class 'float'>

文字列(string)型のstr、整数(int)型、浮動小数点数(float)型となっている。型の変換もできる。


In [9]:
x_str = str(x)
print(x_str)
x_int = int(x_str)
print(x_int)
x_float = float(x_int)
print(x_float)


9
9
9.0

文字列、数値の他、真偽値がある。


In [10]:
y == x * 4


Out[10]:
True

In [11]:
print(y == x)
print(y > x)
print(y >= x * 4)
print(y != x)
print(a == 'red')
print(a != 'red')


False
True
True
True
True
False

In [12]:
print(y != x)


True

論理演算について記載する。


In [13]:
p = True
q = False
print(p and q)
r = p or q
print('r=',r)
print(p & q)
print(p | q)
print(not p)


False
r= True
False
True
False

isは==と同じ使い方。包含関係はin


In [14]:
print(a is 'red')
print(a is not 'blue')
print('e' in b)
print('e' not in b)
print(type(p))


True
True
True
True
False
<class 'bool'>

if文を少しだけ学んで見る。詳細は後の章。


In [15]:
#x = #はコメント
if x > 3:
    y += x
    print(a)
elif x > 0:
    print(b)
else:
    print('エラー')


red

リストは複数の値をまとめて持つことができる基本的なデータ構造。


In [16]:
list_a = [3,5,9,2,5]
list_a


Out[16]:
[3, 5, 9, 2, 5]

数値以外でもリストとして持つことができる。


In [17]:
list_b = ['b','r','g','y','k']
list_b


Out[17]:
['b', 'r', 'g', 'y', 'k']

数値と文字列を混ぜて持たせることも可能。


In [18]:
list_c = ['red',11,-3,'green',2.4,True]
print(list_c)
list_d = []#空のリスト
list_e = list()
print(list_d)
print(list_e)


['red', 11, -3, 'green', 2.4, True]
[]
[]

In [19]:
print(list_a[2])
print(list_a[1:3])
print(list_a + list_b)
print(list_a * 2)


9
[5, 9]
[3, 5, 9, 2, 5, 'b', 'r', 'g', 'y', 'k']
[3, 5, 9, 2, 5, 3, 5, 9, 2, 5]

リストや文字列のように順序を持った列をシーケンスと呼ぶ。


In [20]:
list_a += [3]#list_a += 3ではない。
print(list_a)


[3, 5, 9, 2, 5, 3]

リストのリストも作れる。


In [21]:
[[2,3],'yellow',-5.3,['abc','efg'],False,0,'',3-1,p or q]


Out[21]:
[[2, 3], 'yellow', -5.3, ['abc', 'efg'], False, 0, '', 2, True]

In [22]:
type(list_a)


Out[22]:
list

シーケンス(文字列やリスト)の長さを調べる。


In [23]:
print(len(a))
print(len(list_a))


3
6

よく使う文字列操作

文字列のsplitによる分割、joinによる結合、replaceによる置換。


In [24]:
text = 'red,green,blue,yellow,black'
split_text = text.split(',')
split_text


Out[24]:
['red', 'green', 'blue', 'yellow', 'black']

In [25]:
'_'.join(split_text)


Out[25]:
'red_green_blue_yellow_black'

In [26]:
text.replace(',',' ')


Out[26]:
'red green blue yellow black'

トリプルクォート"""または'''の使い方


In [27]:
t = """トリプルクォートの使い方を記載します。
トリプルクォートの文字列は長い文字列の際の、
複数行文字列にも使えます。
また''を文字列として扱うことができます。"""
print(t)
t


トリプルクォートの使い方を記載します。
トリプルクォートの文字列は長い文字列の際の、
複数行文字列にも使えます。
また''を文字列として扱うことができます。
Out[27]:
"トリプルクォートの使い方を記載します。\nトリプルクォートの文字列は長い文字列の際の、\n複数行文字列にも使えます。\nまた''を文字列として扱うことができます。"

In [28]:
t2 = "エスケープを使うことで、\nprint文などにおいて、改行することができます。"
print(t2)


エスケープを使うことで、
print文などにおいて、改行することができます。

バックスラッシュで複数行の文字列をつなぐこともできます。


In [29]:
t3 = '改行の使い方について。'\
'バックスラッシュで'\
'複数行の文字列をつなぐことができる。'
t3


Out[29]:
'改行の使い方について。バックスラッシュで複数行の文字列をつなぐことができる。'

+=による文字列結合でも同じことができます。


In [30]:
t4 = '改行の使い方について。'
t4 += 'バックスラッシュで'
t4 += '複数行の文字列をつなぐことができる。'
t4


Out[30]:
'改行の使い方について。バックスラッシュで複数行の文字列をつなぐことができる。'

In [ ]: