2013-10-13 16 views

答えて

36

あなたが使用することができnp.pad()

a = np.ones((4, 3, 2)) 

# npad is a tuple of (n_before, n_after) for each dimension 
npad = ((0, 0), (1, 2), (2, 1)) 
b = np.pad(a, pad_width=npad, mode='constant', constant_values=0) 

print(b.shape) 
# (4, 6, 5) 

print(b) 
# [[[ 0. 0. 0. 0. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 0. 0. 0.] 
# [ 0. 0. 0. 0. 0.]] 

# [[ 0. 0. 0. 0. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 0. 0. 0.] 
# [ 0. 0. 0. 0. 0.]] 

# [[ 0. 0. 0. 0. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 0. 0. 0.] 
# [ 0. 0. 0. 0. 0.]] 

# [[ 0. 0. 0. 0. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 1. 1. 0.] 
# [ 0. 0. 0. 0. 0.] 
# [ 0. 0. 0. 0. 0.]]] 
+5

なお(n_before、n_after)行/列の数を参照しています。 2番目の次元の意味は、1行前(上)と2行後(下)です。同様に、(2,1)は2行前のことを意味します(0の2列分右にシフトし、1列の0を埋め込みます)。 – berto77

+0

@ berto77コメントありがとうございました。 –

関連する問題