平凡エンジニアからの出発

一に努力、二に理想、三に積小為大。

【E資格対策】Python Numpy入門

Numpy

import numpy as np

array = np.array([[1,2,3],[4,5,6]])
print(array)
# [[1 2 3]
#  [4 5 6]]
list  = array.tolist()
print(list)
# [[1, 2, 3], [4, 5, 6]]

# zeros
array0 = np.zeros((2,5))
print(array0)
# [[0. 0. 0. 0. 0.]
#  [0. 0. 0. 0. 0.]]

# ones
array1 = np.ones((2,5))
print(array1)
# [[1. 1. 1. 1. 1.]
#  [1. 1. 1. 1. 1.]]

# aragne
array = np.arange(50) # 50個(0~49)を格納する

# Arrayの要素の型をdtypeを指定する
array_int = np.array([1,2,3], dtype="int32")
print(array_int.dtype) # int32

# 型変換(0,1をFalse,Trueに変えたりできる)
array = np.array([0,0,1], dtype="int")
print(array) # [0 0 1]
array = array.astype("bool")
print(array) # [False False  True]

要素

array = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(array[0]) # [1 2 3]
print(array[0][0]) # 1
print(array[:,:]) # スライス参照
# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]

形状

array = np.array([[1,2,3],[4,5,6]])
print(array.shape) # (2, 3) 2行3列
print(array.ndim)  # 2次元
print(array.reshape((3,2))) # 3行2列
print(array.reshape((3, -1))) # -1を指定すると、自動でリシェイプしてくれる

演算

a = np.array([[1,2], [3,4]])
b = np.array([[1,3], [5,7]])
print(a + b) # 加算
# [[ 2  5]
#  [ 8 11]]
print(a + 1) # ブロードキャスト
# [[2 3]
#  [4 5]]

# ベクトルの内積
print(np.dot(a,b))
# [[11 17]
#  [23 37]]

Numpy100本ノック!!

github.com