Remrinのpython攻略日記

python3に入門しました。python3についてあれこれとサンプルコードとか。

NumPyの使い方(18) 次元操作

NumPyの次元操作について
 

次元の増減 保持 削減 増加  
reshape  
resize  
flatten   ×  
rabel    ×  
any, all × ×  
sort × axis略で1d
スライス × ×  
インデックス × ×  
ファンシーインデックス ×  
take × axis略で1d
mean, sum × ×  
min, max × ×  
concatenate × ×  
split × ×  
repeat × axis略で1d
tile ×  
expand_dims × ×  
ブロードキャスト ×  
イテレート × × 次元が1減る
compress × axis略で1d

 
・np.expand_dims()
 軸を指定して次元を増やす。

import numpy as np

a1 = np.array([0, 1, 2])
a2 = np.expand_dims(a1, axis=0)
print(a2)
# [[0 1 2]]

# 以下も同義
a3 = a1[np.newaxis, :]
print(a3)
# [[0 1 2]]

a4 =np.expand_dims(a1, axis=1)
print(a4)
# [[0]
#  [1]
#  [2]]

# 以下も同義
a5 = a1[:, np.newaxis]
print(a5)
#[[0]
# [1]
# [2]]