2013-06-05 14 views
1

我有一个numpy的阵列映射在开始时的阵列到其他用零和端

a = np.arange(30).reshape(5,6)

和我想将它映射到

b = np.zeros((a.shape[0],a.shape[1]+2))

但离开第一最后一列为零

ie

b = 

array [[0, 0, 1, 2, 3, 4, 5, 0], . . . [0, 24, 25, 26, 27, 28, 29, 0]])

感谢

+0

分手的任务,成片,你知道该怎么做。例如,给定一个列表,删除第一个和最后一个条目。根据您设计的映射修改结果。重新插入结果的第一个和最后一个条目(显然你事先知道应该都是零)。 – hardmath

回答

1
a = np.arange(30).reshape(5, 6) 
b = np.zeros((a.shape[0], a.shape[1]+2), dtype=a.dtype) 
b[:, 1:-1] = a 
>>> b 
array([[ 0, 0, 1, 2, 3, 4, 5, 0], 
     [ 0, 6, 7, 8, 9, 10, 11, 0], 
     [ 0, 12, 13, 14, 15, 16, 17, 0], 
     [ 0, 18, 19, 20, 21, 22, 23, 0], 
     [ 0, 24, 25, 26, 27, 28, 29, 0]])