見出し画像

【データ分析】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を使うことから、コードの書き方を学びました。
最後まで読んでいただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?