2.科学計算ツールNumpy
5383 ワード
1.numpy概要
Numpy:Pythonで科学計算を行うベースライブラリを提供し、数値計算に重点を置き、主に多次元配列(マトリクス)処理に使用されるライブラリを提供します.大きなマトリクスを格納して処理するために使用され、Python自体のネストされたリスト構造よりも効率的です.それ自体はC言語で開発され、基礎的な拡張であり、Pythonの残りの科学計算の拡張の大部分はこれを基礎としている.高性能科学計算とデータ分析の基礎パッケージndarray、多次元配列(マトリクス)、ベクトル演算能力、高速、省スペース
2.ndarray配列の作成
NumPy配列は、ndarrayと呼ばれる多次元配列オブジェクト(行列)であり、ベクトル演算能力を持ち、実行速度が速く、空間を節約するという特徴がある.注意:ndarrayの下付き文字は0から始まり、配列内のすべての要素は同じタイプでなければなりません.
2.1 ndarrayプロパティ
ndimプロパティ:次元個数shapeプロパティ:次元サイズdtypeプロパティ:データ型
2.2 ndarrayのランダム作成
ランダムサンプリング(numpy.random)によりランダムデータを生成する.
np.random.rand()
ランダムサンプルは[0,1]にありrand固定区間0.0~1.0
np.random.randn()
ランダムサンプルは、標準正規分布から1つ以上のサンプル値を返します.
np.random.randint()メソッドの使用
指定次元サイズ(3行4列)のランダム多次元整数データ(2次元)を生成し、randint指定区間-2~5
np.random. uniform()メソッドの使用
指定した次元サイズ(4行5列)のランダム多次元浮動小数点型データ(2 D)を生成し、uniform()は区間(-3,2)を指定できます.
2.3 ndarrayのシーケンス作成
np.zeros()
サイズの全0配列を指定します.注:最初のパラメータは、(3,4)などのサイズを指定するメタグループです.
np.ones()
サイズの全1配列を指定します.注:最初のパラメータは、(3,5)などのサイズを指定するメタグループです.
np.empty()
初期化配列は、常に全0を返すのではなく、初期のランダム値(メモリ内のランダム値)を返す場合があります.
ndarrayのシーケンス作成
2.4 dtypeパラメータ
2.5配列データ型の変換astype()
Numpy:Pythonで科学計算を行うベースライブラリを提供し、数値計算に重点を置き、主に多次元配列(マトリクス)処理に使用されるライブラリを提供します.大きなマトリクスを格納して処理するために使用され、Python自体のネストされたリスト構造よりも効率的です.それ自体はC言語で開発され、基礎的な拡張であり、Pythonの残りの科学計算の拡張の大部分はこれを基礎としている.高性能科学計算とデータ分析の基礎パッケージndarray、多次元配列(マトリクス)、ベクトル演算能力、高速、省スペース
2.ndarray配列の作成
NumPy配列は、ndarrayと呼ばれる多次元配列オブジェクト(行列)であり、ベクトル演算能力を持ち、実行速度が速く、空間を節約するという特徴がある.注意:ndarrayの下付き文字は0から始まり、配列内のすべての要素は同じタイプでなければなりません.
2.1 ndarrayプロパティ
ndimプロパティ:次元個数shapeプロパティ:次元サイズdtypeプロパティ:データ型
2.2 ndarrayのランダム作成
ランダムサンプリング(numpy.random)によりランダムデータを生成する.
np.random.rand()
ランダムサンプルは[0,1]にありrand固定区間0.0~1.0
arr1 = np.random.rand(3,4) # 3*4,0-1
print(arr1)
a = 3
print(arr1.ndim) #
print(arr1.shape) #
print(arr1.dtype) #
###################### #########################
[[ 0.8304427 0.28691753 0.49540239 0.81833986]
[ 0.67167216 0.07743172 0.02851783 0.1204921 ]
[ 0.21615523 0.88841313 0.06086932 0.0161961 ]]
2
(3, 4)
float64
#####################################################
np.random.randn()
ランダムサンプルは、標準正規分布から1つ以上のサンプル値を返します.
arr2 = np.random.randn(3,4,5)
print(arr2)
print(arr2.ndim)
print(arr2.shape)
########################### ##############################
[[[-0.53048525 -0.98315123 1.07899734 1.00916922 -1.43343381]
[ 0.16614765 -2.04573639 0.69389559 -1.03237277 0.55933928]
[-1.83031415 -1.06860538 0.54219642 -1.07381001 0.04935296]
[ 0.23682127 -0.31775132 -0.00994159 -0.20292605 1.30770046]]
[[ 0.10626402 1.01778731 -1.53680091 0.76804688 0.27078436]
[-0.43091204 1.47209429 0.80118083 -2.0614604 -0.5506007 ]
[ 1.44773308 -2.14104747 -0.95519316 -0.83441982 -0.31901006]
[ 0.10257071 -0.42335524 -0.01249585 -1.47530282 -1.1789874 ]]
[[ 0.27786974 -0.93659983 0.44406388 0.01835018 1.11760644]
[ 1.68107332 -1.88498173 0.69610999 1.4677356 2.95709668]
[-2.16621502 1.09556328 -0.5359436 2.01755611 -1.00161595]
[ 0.41419144 -0.74623465 0.13370128 -0.01935085 -1.03277491]]]
3
(3, 4, 5)
#################################################################
np.random.randint()メソッドの使用
指定次元サイズ(3行4列)のランダム多次元整数データ(2次元)を生成し、randint指定区間-2~5
arr3 = np.random.randint(-2,6,(3,4))
print(arr3)
print(arr3.dtype)
####################### ##########################
[[ 0 1 5 3]
[ 4 0 1 4]
[ 0 -2 5 1]]
int32
#########################################################
np.random. uniform()メソッドの使用
指定した次元サイズ(4行5列)のランダム多次元浮動小数点型データ(2 D)を生成し、uniform()は区間(-3,2)を指定できます.
# ndarray
arr4 = np.random.uniform(-3,3,size=(4,5))
print(arr4)
print(arr4.dtype)
########################## #############################
[[ 0.39471789 1.80044462 -1.2432487 2.72737276 0.63235806]
[-1.15296166 -2.43829749 -1.6658063 -0.144205 0.04610753]
[ 0.32108255 -2.77588426 -1.50920274 0.24233935 2.67571127]
[ 1.06973439 -0.4995566 2.79207931 -1.14324029 -2.48195469]]
float64
###############################################################
2.3 ndarrayのシーケンス作成
np.zeros()
サイズの全0配列を指定します.注:最初のパラメータは、(3,4)などのサイズを指定するメタグループです.
print(np.zeros((3,4)))
print(np.zeros((3,4)).dtype)
print(type(np.zeros((3,4))))
########################## #############################
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
float64
###############################################################
np.ones()
サイズの全1配列を指定します.注:最初のパラメータは、(3,5)などのサイズを指定するメタグループです.
print(np.ones((3,5)))
########################## #############################
[[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
###############################################################
np.empty()
初期化配列は、常に全0を返すのではなく、初期のランダム値(メモリ内のランダム値)を返す場合があります.
print(np.empty((4,5)))
########################## #############################
[[ 0.39471789 1.80044462 1.2432487 2.72737276 0.63235806]
[ 1.15296166 2.43829749 1.6658063 0.144205 0.04610753]
[ 0.32108255 2.77588426 1.50920274 0.24233935 2.67571127]
[ 1.06973439 0.4995566 2.79207931 1.14324029 2.48195469]]
###############################################################
ndarrayのシーケンス作成
arr8 = np.arange(15) #
print(arr8)
########################## #############################
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
###############################################################
arr9 = arr8.reshape(3,5) # 3 5
print(arr9)
########################## #############################
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
###############################################################
2.4 dtypeパラメータ
arr12 = np.zeros((3,5),dtype=np.int64)
print(arr12)
print(arr12.dtype)
########################## #############################
[[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 0]]
int64
###############################################################
2.5配列データ型の変換astype()
arr13 = arr12.astype(np.float32)
print(arr13)
print(arr13.dtype)
########################## #############################
[[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]]
float32
###############################################################