如何使用矩阵的维度制作for循环

时间:2017-10-15 02:50:25

标签: python numpy

我有一个名为dataSet的二维数组,它是335 x 225.我想填充一个新的空数组,称为newDataSet,1-D数组是1 x 7537. newDataSet应该从第一个填充7537数据点的dataSet。我怎么能这样做?

我想像它一样使用for循环:

for row in trainingData.shape[0]
    for column in trainingData.shape[1]
    bin_1 = trainingData[:33,:255]

2 个答案:

答案 0 :(得分:0)

如果使用numpy

,则不需要循环
import numpy as np    
dataset = np.random.random((335, 225))

首先将dataset重新整形为1x(335*225)数组,然后从中提取出前7537个元素

new_array = dataset.reshape(1, 75375)[:,0:7537]

答案 1 :(得分:0)

生成子集的一步法:

subsets=np.split(a.ravel(),range(0,a.size,a.size//10)[1:-1])

In [30]: [len(s) for s in subsets]
Out[30]: [7537, 7537, 7537, 7537, 7537, 7537, 7537, 7537, 7537, 7542]

这些只是视图,因此不会复制数据。对训练集来说通常不是问题。