从numpy矩阵中提取一行

问题描述:

我目前正在测试一个NN实现,其中列车数据存储在numpy矩阵中。从numpy矩阵中提取一行

print train_set_data_vstacked_normalized.shape 

(219970,400) 

输入数据目前看起来是这样的,我必须每行喂到我的神经网络..

它发生在(无,400)形状的输入。

我如何取出一行,使我从矩阵中取出的数组有400个条目,或400列和一行?

我已经试过

print train_set_data_vstacked_normalized[:,0].shape 
(219970,) 

print train_set_data_vstacked_normalized[0,:].shape 
(400,) 
+1

'train_set_data_vstacked_normalized [0,:]。reshape(1,400)'是怎么样的? – Abdou

+0

尝试类似'x [None,:,0]'或'x [:,0] [None,:]'或'x [:,0] .reshape(1,-1)'。 – hpaulj

+0

...?我不知道我明白那会做什么..数据已经正确结构化了,我想传递恰好符合形状的数据。 我想通过正确的数据.. –

你需要一个简单的for循环来遍历数组中的所有行。

nrows = train_set_data_vstacked_normalized.shape 
for i in range(nrows[0]): 
    row = train_set_data_vstacked_normalized[i, :] 

    # now change shape to (1, 400) 
    resized_row = row[np.newaxis] 

    # now, "resized_row" shape is (1, 400) 
    # pass "resized_row" to NN input layer. 
    # ... 

PS:作为一个方面说明,只是想提醒你,在内存中〜220K x 400阵列发生在我的机器周围670 MB。考虑将它作为HDF5文件。