numpy配列の算術計算
numpy配列では、算術計算の方法がリストと違います。 この場合、ベクトル演算を行います。つまり、同サイズの配列の場合同位置の要素どうしで計算されます。
numpy配列の計算例
data_1 = np.array([1, 2, 3, 4, 5]) data_2 = np.array([6, 7, 8, 9, 10]) print('2倍にする:', data_1 * 2) print('掛け算:', data_1 * data_2) print('累乗:', data_1** 2) print('割り算:', data_2 / data_1)
結果
2倍にする: [ 2 4 6 8 10]
掛け算: [ 6 14 24 36 50]
累乗: [ 1 4 9 16 25]
割り算: [6. 3.5 2.667 2.25 2. ]
リストの計算例
# リストの場合 print('2倍にする:', [1, 2, 3, 4, 5] * 2) print('足し算:', [1, 2, 3, 4, 5] + [6, 7, 8, 9, 10])
結果
2倍にする: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
足し算: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Numpy配列のソート
Numpy 配列のソートはインプレースです。つまりsort()をかけると、元の値が直接ソートされます。
Numpy配列の昇順、降順ソート例
data = np.array([9, 2, 3, 4, 10, 6, 7, 8, 1, 5]) # ソートの処理はインプレースです。 print(data) data.sort() print(data) # 降順 data[::-1].sort() print(data)
結果
[ 9 2 3 4 10 6 7 8 1 5]
[ 1 2 3 4 5 6 7 8 9 10]
[10 9 8 7 6 5 4 3 2 1]
Numpy の基本統計量を求める関数
基本統計量とはデータの特性を把握する上で最も基本になる値です。代表的なものに平均があげられます。
他に最大値、最小値、合計値、あるいは標準偏差を求める関数も用意されています。
基本統計量を求める関数の中でも変わり種は、cumsum関数があります。これは、積み上げ計算を行います。要素を足し合わせたものを、配列として出力するものです。
1, 1+2, 1+2+3, 1+2+3+4, 1+2+3+4+5
主な基本統計量を求める関数
data_1 = np.array([1, 2, 3, 4, 5]) print('Min:',data_1.min()) print('Max:',data_1.max()) print('sum:',data_1.sum()) print('cum:',data_1.cumsum()) # 積み上げ割合の例 print('Ratio:',data_1.cumsum() / data_1.sum())
Min: 1
Max: 5
sum: 15
cum: [ 1 3 6 10 15]
Ratio: [0.067 0.2 0.4 0.667 1. ]
なお動画では紹介していませんが、標準偏差は np.std 関数を使います。
参考になった書籍
機械学習入門時には、難しいし、リファレンスとしても使いにくいなどであまり活用しなかったが、特徴量エンジニアリングが必要になるくらいから途端にありがたい書籍になった。Pandasの作者自ら書いた本でNumpyやPandasの使い方が詳細に書かれている。
Pythonサンプルのダウンロード
ここでダウンロードする「numpy_lesson.ipynb」ファイルは、このPython動画で使用したものです。