def _data_iter_ma(self, data, randomize):
if data is None:
data_ma = self.frontend.data_ma
else:
data_ma = data
order = np.arange(data_ma.size).reshape(data_ma.shape)
masked = order[data_ma.mask]
if self._is_symmetric:
tril = np.tril_indices_from(data_ma, -1)
tril = order[tril]
masked = np.append(masked, tril)
# Remove masked value to the iteration list
order = np.delete(order, masked)
# Get the indexes of nodes (i,j) for each observed interactions
order = list(zip(*np.unravel_index(order, data_ma.shape)))
if randomize is True:
np.random.shuffle(order)
return order
评论列表
文章目录