【Numpy】"ndarray"を理解する
今回は数値計算ライブラリNumpyをまとめていきます。そのなかでもndarrayを中心に学んでいきます。
Numpyとは
Python で数値計算を効率よく、高速に行うことができるライブラリ。特に多次元配列を操作するための強力な機能と、さまざまな数値計算用の関数が提供されているため、Python で科学技術計算やデータ分析を行う際には欠かせないツールである。
なぜ、Numpyが重要なのか
Python は動的型付けの言語であり、計算速度が遅いという問題点があります。それに対して NumPy は C 言語で実装されているため高速な計算が可能です。
また、Python のリストよりも効率的に大量のデータを扱うことができます。さらに、NumPy の関数はベクトル化されているため、ループ処理を書く必要がない場合が多く、コードが短くなり読みやすくなります。
■ベクトル化:Pythonにおけるデータ処理の効率化を実現する強力な手法。 このアプローチでは、データを個別の要素として扱うのではなく、配列やシーケンスとして一括で操作します。 これにより、多くの計算処理を同時に行うことが可能になり、処理速度が大幅に向上します。
■静的型付け:「プログラマー」が「コード」を書く場合に、予めプログラマー自身が変数や関数の引数、返り値に対してどのように「データ」を扱うのかをプログラマー自らが指定する、つまり「型」を決めて使う方法を「静的型付け」という。
■動的型付け:プログラマーによって書かれたコードを元に、変数や関数の引数、返り値の型を、コンパイラーやインタープリターが実行時にデータの型を解釈・決定して扱う方法を「動的型付け」という。
Listとndarray
Pythonには、組み込み型としてリストlist、標準ライブラリに配列arrayが用意されている。
さらに数値計算ライブラリNumPyをインストールすると、多次元配列numpy.ndarrayが使える。
ndarrayを作成する
List と ndarrayを作成する
Numpyをimportする
import numpy as np
Listの作成
arr1 = [1, 5, 9]
ndarrayの作成:np.arrayをつけ、パラメーターにarrayを挿入する
np_arr1 = np.array(arr1)
printで型を確認する
print(type(arr1))
print(type(np_arr1))
値は、「1,5,9」が入っているけれども
arr1はリスト
np_arr1はndarray
で配列が違う
.dtypeでデータ属性を確認ができる
np_arr1.dtype
int型(整数)であることがわかる
ファンシーインデックスの使いかた
Listとndarrayを作成する
arrayを作成していきます。
arr3 = [[0, 200],[300,500]]
np_arr3 = np.array(arr3)
リストの書き方
通常のリストで黄色枠内の"200"を取り出すときは、
インデックス0の配列を呼び出して、その中のインデックス1を選ぶと"200"が取り出せる
arr3[0][1]
ndarrayの書き方
ndarrayでも同じようにインデックス0の配列を呼び出して、その中のインデックス1を選ぶと"200"が取り出せる
np_arr3[0][1]
ファンシーインデックスの書き方
ファンシーインデックスの読み方は、
np_arr3[0,1]
の場合は、0行目の1列目と読み取る
まとめ
今回は、より効率的な数値計算、多次元配列を扱う場合や、配列に対する数値計算(科学技術演算)や行列演算を行う場合はNumPy配列numpy.ndarrayを使うことから、コードの書き方を学びました。
最後まで読んでいただきありがとうございます。