NumPy数组中连续值的切片
问题内容:
假设我有一个a
包含10个值的numpy数组。这只是一个示例情况,尽管我想对长度为100的数组重复相同的操作。
a = np.array([1,2,3,4,5,6,7,8,9,10])
我想将前5个值相加,然后将后5个值相加,依此类推,然后将它们存储在新的空列表中b
。
因此b
将包含b = [15,40]
。
我该怎么做呢?
问题答案:
尝试以下列表理解:
b = [sum(a[current: current+5]) for current in xrange(0, len(a), 5)]
它一次从列表中抽取5个切片,对它们求和并构造一个列表。也适用于长度不是5的倍数的列表。
(xrange
应该range
在python3 +中)