块状切片可变长度矩阵

时间:2019-02-23 16:23:01

标签: python numpy

我有一个形状为k x 3的矩阵a。基于第一个索引,我想对其进行切片和存储。第一个索引的值是1:1000。切片后,由于切片的长度是可变的,所以我不知道如何存储它。例如,Y形状为(163,2),(55,2),依此类推。如何存储这些数据,以便可以基于X [0],X [1],...,X [999]等索引进行调用?

def parseX(a, len):
  X = []
  for i in range(len):
    #Z = np.split(a, np.where(a[:, 0] == i+1))
    ### Split based on 0th column's value being (i+1)
    Y = a[ a[:,0] == i+1, :][:, [1,2]]
    print(Y.shape)
    #X[i] = Y
    #X[i].append(Y)
  #print(len(X))
  return X

1 个答案:

答案 0 :(得分:0)

只需X.insert(i,Y)即可。

def parseX(a, len):
  X = []
  for i in range(len):
    ### Split based on 0th column's value being (i+1)
    Y = a[ a[:,0] == i+1, :][:, [1,2]]
    print(Y.shape)
    X.insert(i, Y)
  #print(len(X))
  return X