pythonで、まず2つのリストをつくる
a=[1,2,3]
b=[4,5,6]
aとbを掛けることが、できるのか。
print(a*b)
エラーになってしまう。
TypeErrorTraceback (most recent call last)
in ()
—-> 1 type(a*b)
TypeError: can’t multiply sequence by non-int of type ‘list’
ndarrayオブジェクトにリストを入れてみる。
import numpy as np
c=np.array([1,2,3])
d=np.array([4,5,6])
cとdを掛けることが、できるのか。
print(c*d)
[ 4 10 18]
OK〜
次に
e=c*dとする
print(e)
[ 4 10 18]
ndarrayオブジェクトには、型、次元数、サイズを調べるメソッド(アトリビュート?)が用意されている。
型
e.shape
(3,)
次元数
e.ndim
1
サイズ(要素数)
e.size
3
サイズ(要素数)は分かるが、e.shape(3,)と、e.ndim 1について、理解できない。
f=np.array([[1,2,3],[4,5,6]])としてみる。
print(f)
[[1 2 3]
[4 5 6]]
f.shape
(2, 3)
f.ndim
2
f.shape
(2,3)
は、
2列3行(2×3)が表現されている。
1行3列のようだ。ということで、先の(3,)は3列1行のようだ。(3,1)とは表現されないんだネ。
=>(1,3)とは表現されず、1が省かれ(3,)と表現
f.ndimは2次元。
[ 4 10 18] — 1次元
[[1 2 3]
[4 5 6]] — 2次元
では、
[[1,2,3]
[4,5,6]
[7,8,9」]
のような形を3次元と言うのか。
じっさいに、つくってみよう。
g=np.array([[1,2,3],[4,5,6],[7,8,9]])
g.ndim
2
お、2次元だ。
では、3次元とは..ググって、しらべてみたわ〜
h=np.array([[[1,2,3],[4,5,6],[7,8,9]],[[1,2,3],[4,5,6],[7,8,9]]])
print(h)
[[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 2 3]
[4 5 6]
[7 8 9]]]
h.ndim
3
お〜、3次元〜