[ 0.84147098, 0.84147098]])
>>> np.max(a)
1.0
> ;> ;> np.floor(a)
array([[ 1., 1.],
[ 1., 1.]])
>>> exp(a)
配列 ([[2.71828183, 2.71828183],
[2.71828183, 2.71828183]])
& gt; & gt; ## 行列乗算
配列 2., 2.],
[ 2., 2.]])
配列を結合
numpy で vstack 関数と hstack 関数を使用します。
コードをコピーします
コードは次のとおりです。 >> a = np.ones((2,2))>>> b = np.eye(2)>>> b))[[ 1. 1.] [ 1. 1.]
[ 1. 0.]
[ 0. 1.]]
>>> print np.hstack ((a,b))
[[ 1. 1. 1. 0.]
[ 1. 1. 0. 1.]]
これら 2 つの関数にシャロー コピーの問題が含まれているかどうかを確認します。
コードをコピーします
コードは次のとおりです:
>>> c = np.hstack((a,b))>>> print c[[ 1. 1. 1. 0.] [ 1. 1 . 0. 1.]]>>> a[1,1] = 5
>>> b[1,1]> print c
[[ 1. 1. 1. 0.]
[ 1. 1. 0. 1.]]
a と b の要素が変化していることがわかります。影響を与えていない c.
ディープコピー配列
配列オブジェクトにはシャロー コピー メソッドとディープ コピー メソッドがありますが、一般的にはディープ コピーの方がよく使用されます:
コードをコピー
コードは次のとおりです:
>>> a = np.ones((2,2))
>>> b = a
>>> True>>> c = a.copy() #ディープ コピー>>> c は False
基本的な行列演算
移調:
コードをコピー コードは次のとおりです:
>>> a = np.array([[1,0],[2,3]])
>>> print a
[1 0 ]
[2 3]]
>>> print a.transpose()
[[1 2]
[0 3]]
トレース:
コードをコピー コードは次のとおりです:
>>> print np.trace(a)
4
numpy.linalg モジュールには行列演算のメソッドが多数あります:
コードをコピーします コードは次のとおりです:
>>> ; numpy.linalg を nplg としてインポートします
固有値、固有ベクトル:
コードをコピー コードは次のとおりです。
>>> . eig(a)
(array([ 3., 1.]), array([[ 0. , 0.70710678],
[ 1. , -0.70710678]]))
3. マトリックス
Numpy は行列オブジェクトを構築することもできますが、ここでは説明しません。