0
我有一個矩陣,我想根據行列表得到兩個不同的矩陣。索引是隨機創建的。我知道如何得到第一部分:numpy:按索引拆分矩陣
indexes = np.random.randint(low=0, high=num_rows size=splitsize)
part1 = data[indexes, :]
如何獲取其他部分的數據?
我有一個矩陣,我想根據行列表得到兩個不同的矩陣。索引是隨機創建的。我知道如何得到第一部分:numpy:按索引拆分矩陣
indexes = np.random.randint(low=0, high=num_rows size=splitsize)
part1 = data[indexes, :]
如何獲取其他部分的數據?
也許你可以使用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])
用'num_rows'替換'8'作爲泛型代碼?另外,使用'np.in1d(np.arange(num_rows),indexes)'來布爾選擇行可能會更快。 – Divakar