【发布时间】:2018-07-10 15:27:35
【问题描述】:
我有以下 numpy 数组:
array=[1,1,1,1,2,2,3,3,3,5,6,6,6,6,6,6,7]
我需要将这个数组分解成具有相同值的较小数组,例如
[1,1,1,1] and [3,3,3]
我的代码如下,但它不起作用:
def chunker(seq, size):
return (seq[pos:pos + size] for pos in range(0, len(seq)-size))
counter=0
sub_arr=[]
arr=[]
for i in range(len(array)):
if(array[i]==array[i+1]):
counter+=1
else:
break
subarr=chunker(array,counter)
arr.append(sub_arr)
array=array[counter:]
将数组分解为具有相等/相同值的较小数组的有效方法是什么?
【问题讨论】:
-
你期待/关心像
[1,1,2,2,1,1]这样的数组吗?你关心列表中子数组的顺序吗? (应该和原来的顺序一致吗?)