PythonでNumpyの使い方。よく使われるのでGoogle Colabなどで一度確認しておくとよいでしょう。
Numpyとは?呼び方は?
Numpyは配列などを扱うライブラリです。
型指定ができ、より高速・柔軟に配列を使えます。
海外の動画を見たりしていると「ナンパイ」と呼んでいるようです。
ちなみにうちはずっと「ナンピー」だと思ってましたが何か?
Numpyの使い方
セットアップ
利用するには
import numpy as np
をあらかじめ指定します。
配列作成
配列を指定します。
・1次配列
x = np.array([1,2,3])
・多次元配列
x = np.array([[ 0, 1, 2], [ 3, 4, 5]])
・「zeros」ですべて0が続く配列を、「ones」で1が続く配列を作ります。
x=np.ones(2)
x
出力は「array([1., 1.])」
・「arrange」で簡単に連番の数列を生成
x=np.arange(1, 15)
x
結果は「array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])」
配列の次元を変更
・「reshape」で配列の次元を変更できます。
「reshape(2, 5)」で以下のような出力となります。
a = np.array([1,2,3,4,5,6,7,8,9,10])
b = a.reshape(2, 5)
b
出力は「array([[ 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10]])」
情報を取得
・「dtype」で型を取得します
x = np.array([1,2,3])
x.dtype
結果は「dtype('int64')」。
・「ndim」で配列の次元数を取得。
x = np.array([[ 0, 1, 2], [ 3, 4, 5]])
x.ndim
結果は「2」。
配列の値
・変数に配列を入れたら、あとは通常の「[]」で取得できます。
x = np.array([1,2,3])
x[2]
結果は「3」。
・数字とコロンで特定の範囲を切り出すことができます。
x = np.array([1,2,3])
x[1:]
結果は「array([2, 3])」
計算
そのまま掛け算してもいいです。
x = np.array([1,2,3])
x = x*2
x[1]
結果は「4」
ファイル操作
・ファイルのロードは「loadtxt」で実行。
a = np.loadtxt('sample.txt')
・ファイルの保存は「savetxt」で実行。
b = np.asarray([[1,2,3], [4,5,6]])
np.savetxt("sample.txt", b)
Numpyのエラー
module 'numpy' has no attribute 'array'?
numpyにarrayがない?とするエラー。
不思議だったんですが、テスト用に作成したファイル名をなんとなく「numpy.py」にしたためだったようです。file名を変更すれば大丈夫でした。
ValueError?
reshapeで次元を変更する場合、元の配列と要素数が一致する形状でない場合にはValueErrorが発生します。
バージョン?
インストールできない、他のパッケージとの相性が悪い、という場合にはバージョンが関係しているかもしれません。
その場合一度アンインストールし、バージョン名を指定してからインストールしなおしてみましょう。
pip uninstall numpy
python -m pip install numpy==(バージョン名)