引き続き、Pythonの型について学びましょう。第2回になります。前回分を未読の方はこちらを先に読むと理解が進むと思います。今回は下に示す数値演算で非常に重要な4つの型をお話します。



List (リスト)

List (リスト) とは、名前の通りデータや文字を複数個ならべた型になります。日常生活でもいろいろな場面でリスト作りますよね。名前のリスト、点数のリスト、買い物リストなど。

では、リストの例を見ていきましょう。

Names = ["Taro", "Ryu", "Chris"]
Tests = [68, 70, 50]

Namesは”Taro”、”Ryu”、”Chris”の3人の名前が入ったリストです。この場合は文字列のリストになります。Testsは3つの数字が入ったリストになり、数値のリストになっています。

Namesが変数か型かを確認する場合は、type()関数を使います。

type(Names)
Out[1]: list

出力がlistとなり、Namesがリストの型であることがわかります。

Spyderを使用されている場合は、右上のウィンドウにある”Variable explorer”のタブをクリックすると、”Names”と”Tests”のTypeと中身 (Value) を確認することができます。以降で学ぶそれぞれの型もこのタブ内で中身を確認することができます。これがSpyderの便利な機能の1つになります。

Bool (ブール、論理)

Boolとは、”正しい”か”間違い”を示す型になり、真偽値とも言います。正しい場合は”True”、間違えている場合は”False”を返してきます。では簡単な例で2つの数字が同じかどうかを確認してみましょう。

5 == 5
Out[2]: True
10 == 5
Out[3]: False

2つの数字が同じかどうかを確認する場合には、”==”を使います。これを“演算子”と呼びますが、その話は今後詳しく学びましょう。

1つ目は2つの数字が同じなので”True”、2つ目は異なるので”False”が出力されました。Python内では”True/False”は“Yes/No”の意味で使われており、”予約語”になります。このような予約語は変数やリストの名前として使うことができません。

Boolは今後お話する”if”や”for”文と呼ばれる繰り返し処理で多く利用されるため、ちゃんと理解しておくことが重要です。



Array (アレイ、配列)

Array (アレイ) は数学の行列 (配列) を表現することができます。数値演算において、行列計算はなくてはならないものですね。Arrayの演算方法等は今後学びますので、ここではArrayという型があることを覚えておいてください。

では、Arrayの作り方の例を示します。

import numpy as np
a = np.array([1,2,3])
b = np.array([[1,2,3], [4,5,6]])
type(a)
Out[4]: numpy.ndarray

arrayを作るには“Numpy”という“モジュール”を使う必要があります。モジュールとはPythonの定義文が入ったファイルになります。Pythonでは標準でいろいろなモジュールが準備されています。ここではその中の1つであるnumpyを使っています。numpyは科学計算等をするための数式演算が定義されており、重要なモジュールの一つです。

例の1行目では、numpyを使うためにimportして”np”という別名をつけています。そして、arrayを作るために、np.array()という関数を使っています。aは[1,2,3]という3つの数字が入った1×3のarray, bは2×3のarrayになります。

type()関数でaのtypeをチェックしています。numpyのarray型を意味するnumpy.ndarrayが出力されました。

aは先ほどのリストと同じように見えますが、arrayという別の型になります。この型になっているため、numpyというモジュールで定義されているいろいろな関数を用いて計算を行うことができます。numpy自体は膨大な機能がありますので、ここではarrayが作れることだけ覚えておいてください。

DataFrame (データフレーム)

今回お話する最後の型DataFrame (データフレーム) です。DataFrameはイメージ的には、Excelシートのようなデータ型を持っています。これを用いる際は、”Pandas”モジュールを使用します。

import pandas as pd
df = pd.DataFrame({"A": [1,2,3],
                   "B": [4,5,6] })
df
Out[5]:
   A  B
0  1  4
1  2  5
2  3  6
type(df)
Out[6]: pandas.core.frame.DataFrame

1行目でpandasをimportして、pdという別名を定義しています。2-3行目で、dfという名前のDataFrameを作っています。出力を見るとわかりますが、2行3列のデータフレームができており、A行に1-3, B行に4-6の数字が入りました。
type()関数でpandasのDataFrame型を意味するpandas.core.frame.DataFrameが出力されました。

pandasもnumpy同様にPythonで重要なモジュールの一つになります。細かい使い方は今後お話していきます。

まとめ

今回は引き続きPythonで重要ないくつかの型について説明しました。今回学習した型は数値演算で非常に重要な4つになりますので、しっかり覚えておいてください。

  •  List(リスト)
  •  Bool(ブール、理論)
  •  Array(アレイ、 配列)
  •  DataFrame(データフレーム)

次回第3回で残り3つの型について扱います。