ライブラリの読み込み
# ライブラリの読み込み
import numpy as np
データ表示
# データの作成と表示
x = np.array([[1, 2, 3], [4, 5, 6 ]])
x
> array([[1, 2, 3],
[[4, 5, 6]])
行列数を表示する
# 行列数を表示する
x.shape
> (2, 3)
次元確認
# 次元確認
x.ndim
> 2
typeの表示
# typeの表示
x.dtype.name
> 'intc64'
sizeの表示
# sizeの表示
x.size
> 6
データの作成
# データの作成 (0から、2まで、0.3ずつ)
np.arange(0, 2, 0.3)
> array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])
# nanの作成
np.nan
> nan
# nanを複数作成
[np.nan] * 10
>[nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,]
複数データの操作
# 複数データの操作
x = np.arange(0, 10, 2)
y = np.arange(5)
x
>array([0, 2, 4, 6, 8])
y
>array([0, 1, 2, 3, 4])
# データを追加する
np.append(x, y)
>array([0, 2, 4, 6, 8, 0, 1, 2, 3, 4])
# 縦にデータを追加する
np.vstack([x, y])
>array([[0, 2, 4, 6, 8],
[0, 1, 2, 3, 4]])
# 横にデータを追加する
np.hstack([x, y])
>array([0, 2, 4, 6, 8, 0, 1, 2, 3, 4])
# 配列同士の計算
x + y
>array([ 0, 3, 6, 9, 12])
x - y
>array([0, 1, 2, 3, 4])
x * y
>array([ 0, 2, 8, 18, 32])
x * y < 10
>array([ True, True, True, False, False])
データの転置
# 転置
x.T
>array([[0.23562991, 0.98637884],
[0.16623032, 0.03246794],
[0.68413688, 0.09208514]])
配列の作成
# 配列の作成:60までの数値を利用して、3配列×4行×5列のデータを作る
x = np.arange(60).reshape(3, 4, 5)
x
>array([[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]],
[[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29],
[30, 31, 32, 33, 34],
[35, 36, 37, 38, 39]],
[[40, 41, 42, 43, 44],
[45, 46, 47, 48, 49],
[50, 51, 52, 53, 54],
[55, 56, 57, 58, 59]]])
#配列の作成:10000までの数値を利用して、100行×100列のデータを作る
x = np.arange(10000).reshape(100, 100)
x
>array([[ 0, 1, 2, ..., 97, 98, 99],
[ 100, 101, 102, ..., 197, 198, 199],
[ 200, 201, 202, ..., 297, 298, 299],
...,
[9700, 9701, 9702, ..., 9797, 9798, 9799],
[9800, 9801, 9802, ..., 9897, 9898, 9899],
[9900, 9901, 9902, ..., 9997, 9998, 9999]])
配列の操作
# 配列のランダム生成
x = np.random.random((2, 3))
x
>array([[0.23562991, 0.16623032, 0.68413688],
[0.98637884, 0.03246794, 0.09208514]])
# 配列への操作
x.sum()
>2.1969290283381127
x.min()
>0.032467942486763324
x.max()
>0.9863788362932038
x.mean()
>0.3661548380563521
# 縦のsum
x.sum(axis=0)
>array([1.22200874, 0.19869826, 0.77622203])
# 横のsum
x.sum(axis=1)
>array([1.08599711, 1.11093192])