def data_iter(self, randomize=True):
if not hasattr(self, '_order'):
order = np.arange(self.data_ma.size).reshape(self.data_ma.shape)
masked = order[self.data_ma.mask]
if self._symmetric:
tril = np.tril_indices_from(self.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, self.data_ma.shape)))
self._order = order
else:
order = self._order
if randomize is True:
np.random.shuffle(order)
return order
# @debug: symmetric matrix ?
评论列表
文章目录