python - Numpy切片变长矩阵
问题描述
我有一个形状为 kx 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
解决方案
只需 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
推荐阅读
- reactjs - 将 react-testing-library 与 storyshots 一起使用?
- c - 它有什么意义,为什么 sscanf 函数仍然有效?
- django - 如何更改日期的内部 Django 表示?
- apache-camel - JBoss Fuse Tooling - Camel“推土机”转换 GUI 向导
- javascript - 如何在 AJAX 加载页面中更改 html
- python-3.x - 排序列表 vs 堆:删除列表中间的元素 Python
- android - Android Studio 3.2 上的 AndroidX - 运行应用程序时出现验证错误
- javascript - 如何销毁 RTCPeerConnection?
- php - Laravel 更新一对多关系
- android - 内存 - 将大型数据集从活动传递到片段