Python 交换一个矩阵的行以确保获得的每个矩阵与另一个矩阵不同?

Python 交换一个矩阵的行以确保获得的每个矩阵与另一个矩阵不同?,python,algorithm,matrix,Python,Algorithm,Matrix,我有一个矩阵NxM N足够大N>>10000 我想知道是否有一种算法可以混合一个矩阵的所有行以得到一个100矩阵。我的矩阵C不能相同 想法?那么,您是想保持矩阵的形状,只是洗牌行,还是想得到矩阵的子集? 对于第一种情况,我认为numpy的排列算法可能是您的选择。只需创建索引列表的排列,如souinprove 对于第二种情况,如果我正确理解了您的需要,只需使用随机模块中的numpy choice函数,而无需替换。您可以使用Python的random module random.random获得1到

我有一个矩阵NxM

N足够大N>>10000

我想知道是否有一种算法可以混合一个矩阵的所有行以得到一个100矩阵。我的矩阵C不能相同


想法?

那么,您是想保持矩阵的形状,只是洗牌行,还是想得到矩阵的子集? 对于第一种情况,我认为numpy的排列算法可能是您的选择。只需创建索引列表的排列,如souinprove


对于第二种情况,如果我正确理解了您的需要,只需使用随机模块中的numpy choice函数,而无需替换。

您可以使用Python的random module random.random获得1到10000之间的两个整数,然后交换所选的两行。条件:两个随机数彼此不同,一对随机数必须与之前选择的另一对随机数不同。问题是它不能确保你的矩阵与另一个矩阵不同。你可以用相同的内容交换两个不同的行。例如:这是主要问题!你可以很容易地做到这一点但就性能而言,它会破坏你的CPU。到目前为止,你尝试/发现了哪些aou?分享你的发现。你说的混合所有的线是什么意思?什么是矩阵C?这是我使用的函数,在这个方阵中,没有任何东西可以保证我们不会有几乎相同的矩阵,我想要与原始矩阵完全不同的矩阵+50%。谢谢//def shuffling X:indx=np.arangelenX创建一个包含X数据索引的数组np.random.shuffleindx X=X[indx]return X