7.1.2配列のインデックス指定とスライス
a = np.array([1,2,3,4,5,6])
print(a[2])
print(a[3:5])
b = a[:4:2] = 0
print(b)
a = np.array([1,2,3,4,5,6])
print(a[::-1])
結果
3
[4 5]
0
[6 5 4 3 2 1]
a[:4:2]の結果だけ違う?
ちなみに0の代入をやめると
[1 3]となる
図7-22次元Numpy配列に対する基本的な数学演算
a = np.array([1,2,3,4,5,6])
a = a.reshape([2,3])
print(a)
print(a * 2)
print(a - 2)
print(a / 2.0)
結果
[[1 2 3]
[4 5 6]]
[[ 2 4 6]
[ 8 10 12]] #ここが本と異なる
[[-1 0 1]
[ 2 3 4]]
[[ 0.5 1. 1.5]
[ 2. 2.5 3. ]]
a = np.array([45,65,76,32,99,22])
print(a < 50)
結果
[ True False False True False True]
図7-2Numpy配列数学関数
pi = np.pi
a = np.array([pi,pi/2,pi/4,pi/6])
print(np.degrees(a))
結果
[ 180. 90. 45. 30.]
sin_a = np.sin(a)
print(sin_a)
結果
[ 1.22464680e-16 1.00000000e+00 7.07106781e-01 5.00000000e-01]
np.round(sin_a,7)
結果
array([ 0. , 1. , 0.7071068, 0.5 ])
a = np.arange(8).reshape(2,4)
print(a)
print(np.cumsum(a,axis=0))
print(np.cumsum(a,axis=1))
print(np.cumsum(a))
結果
[[0 1 2 3]
[4 5 6 7]]
axis=0(axis=0は行方向)
[[ 0 1 2 3]
[ 4 6 8 10]]
axis=1(axis=1は列方向)
[[ 0 1 3 6]
[ 4 9 15 22]]
[ 0 1 3 6 10 15 21 28]