在数组的开头填充numpy数组

时间:2017-11-19 05:17:16

标签: python numpy padding

如果数组的长度不是8位,我需要在数组的开头填充一个numpy数组。
例如:

  

如果我有一个[1 0 0]的数组,它应该是[0 0 0 0 0 1 0 0]。   
但是,如果它已经是[1 0 0 0 0 0 0 0](8位长),我会这样做   不必对它做任何事情。


谢谢

2 个答案:

答案 0 :(得分:1)

常量模式下使用numpy.pad,并使用 pad_width (8-len(a), 0)向左侧填充8-len(a)个零,并且不向右:

a = [1, 0, 0]

np.pad(a, (8-len(a), 0), 'constant')
# array([0, 0, 0, 0, 0, 1, 0, 0])

答案 1 :(得分:0)

首先,计算您需要填充的宽度。然后创建一个数组,该数组的宽度为零。之后,将该数组与原始数组连接。检查以下代码段:

from collections import Counter
from pprint import pprint

c = Counter((i[-1], i[1]) for i in test)

pprint(c)