(新数组名称中的可迭代对象)使用for循环创建多个具有不同名称的numpy数组来中断较大的numpy数组



我有一个大数组"lines"第一列只是一个计数器,在数组中从1开始多次。所以我写了一个小循环来查找每次重新开始时的下标。

changes             = []
for j in range(len(lines)):
print(j)
if lines[j,0]   == 1 :
changes.append(j)

这告诉我每个索引的第一列再次从1开始。较小数组的长度是不同的。前5个是这样的:

[0,
3643,
6868,
8434,
14347, ...

我可以像这样写多行,每次第一列再次为1时,将大numpy数组分割成更小的数组,像这样:

line1 = lines[changes[0]:changes[1]]

因为在大数组中有17个小数组,所以我不想把这行写17次。有没有办法让这17个数组有不同的名字?使用循环?我假设它应该是这样的:

for i in range(len(lines)-1):
line_[i] = lines[changes[i]:changes[i+1]]

但I作为计数器不能在数组的名称中。我不知道该如何处理这件事。

使用numpy split,它会产生一个子数组列表:

result = np.split(lines, changes)

最新更新