LoginSignup
2
3

More than 3 years have passed since last update.

学習記録(6日目)#セット型#ディクショナリ型#リスト・タプル・セットの相互変換#ndarray型#Pandas(DataFrame型)

Last updated at Posted at 2020-03-17

学習内容

  • セット型
  • デイクショナリ型
  • リスト・タプル・セットの相互変換
  • ndarray型
  • Pandas(DataFrame型)

セット型

リストやタプルと同様に複数のデータを格納することができるデータ型。以下の特徴がある。

  • 同じ値をもつデータを重複して保存することはできない
  • 格納されている複数のデータには順序づけがされない
  • {}によって定義する。
記述例
a = {1,0,2,9,8,3,7,5,4,6}
print('a = ',a)

b = {2,4,4,6,5,2,1,0,8,7,9,3,6}
print('b = ', b)

実行結果

a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
b = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

実行結果のようにどのような順序でデータを指定してもソートされて出力される。

ディクショナリ型

リストやタプル、セットと同様に複数のデータを格納することができるデータ型。以下の特徴がある。

  • 複数のデータにそれぞれ異なるラベルをつけてデータを入れる。
  • {ラベル1:データ1, ラベル2:データ2, ラベル3:データ3}のように定義する。
  • keys()によってラベルの一覧を、items()によって値の一覧を得られる。

リストやタプルでは複数のデータをインデックスで指定していたが、ディクショナリではラベルによって指定する。

記述例
c = {'l1':12, 'l2':45, 'l3':36, 'l4':58}

print('c = ', c)
print("c['l2'] = ", c['l2'])
print("c['l4'] = ", c['l4'])
print(c.keys())
print(c.values())

実行結果

c = {'l1': 12, 'l2': 45, 'l3': 36, 'l4': 58}
c['l2'] = 45
c['l4'] = 58
dict_keys(['l1', 'l2', 'l3', 'l4'])
dict_values([12, 45, 36, 58])

リスト、タプル、セットの相互変換

リスト、タプル、セットはそれぞれメソッドlist()tuple()set()を用いて相互変換可能である。

記述例
# 相互変換を利用してリストから重複データを削除するプログラム
d = [0,2,6,4,2,8,0,2]

e = list(set(d))
print('e = ', e)

実行結果

e = [0, 2, 4, 6, 8]

ndarray型

代表的な数値計算パッケージのNumpyで使用する基本データ型。

記述例
# ndarray型の作成
import numpy

f = [0, 1, 2, 3]
g = numpy.array(f)   # リストからndarray型を作成
print('g = ', g)

h = [1, 2]
i = [2, 3]
j = [3, 4]
k = numpy.array([h, i, j])   # 二次元のndarray型を作成
print('k = ', k)

l = numpy.array(a, dtype = numpy.float16)   # データ型を指定してndarrayを作成
print('l = ', l)

実行結果

g = [0 1 2 3]
k = [[1 2]
[2 3]
[3 4]]
l = [0. 1. 2. 3.]

また、ndarray型のデータやリストに対して、Numpyに用意されている関数を使うと様々な数値演算ができる。代表的な物を以下に紹介する。

import numpy

m = numpy.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

n = numpy.median(m)   # 中央値
o = numpy.mean(m)   # 平均値
p = numpy.std(m)   # 標準偏差
q = numpy.var(m)   # 分散

print(n)
print(o)
print(p)
print(q)

実行結果

4.5
4.5
2.8722813232690143
8.25

Pandas

基本データ型

  • DataFrame型(表データを表す)
  • Seriez型(行または列のデータを表す)

DataFrame型

以下のように作成する。

記述例
import pandas

r = pandas.DataFrame([1, 11.1], [2, 22.2], [3, 33.3])

columsindexでそれぞれ列、行の添字を指定できる。

記述例
r.colums = ['C1', 'C2']
r.index = ['A', 'B', 'C']

インデックス型と同じように、添字を指定して列のデータを取得できる。

記述例
s = r['C1']   # 一列目のデータだけを取り出す
t = s['A']   # 一列目、一行目のデータを取り出す
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3