2015-10-10 126 views
0

我有一個矩陣,我想根據行列表得到兩個不同的矩陣。索引是隨機創建的。我知道如何得到第一部分:numpy:按索引拆分矩陣

indexes = np.random.randint(low=0, high=num_rows size=splitsize) 
part1 = data[indexes, :] 

如何獲取其他部分的數據?

回答

1

也許你可以使用numpy.sediff1d來獲得「其他」部分的索引,並使用它索引矩陣。

In [24]: num_rows = 8 

In [25]: indexes = [2,3,5] 

In [26]: other = np.setdiff1d(np.arange(num_rows), indexes) 

In [27]: other 
Out[27]: array([0, 1, 4, 6, 7]) 
+0

用'num_rows'替換'8'作爲泛型代碼?另外,使用'np.in1d(np.arange(num_rows),indexes)'來布爾選擇行可能會更快。 – Divakar