我有一个形状为1.6M行和400列的矩阵A.
A中的一列(称为输出列)具有二进制值(0,1),其中优势为0。
我想通过对A中的行进行采样来创建一个新的矩阵B(与A相同的形状),这样就可以得到0和&的分布。 B中输出列中的1变为 50/50 。
使用python / numpy执行此操作的有效方法是什么?
答案 0 :(得分:0)
我会创建一个新的1D numpy数组,其中包含来自numpy.random.random_integers(low, high=None, size=None)的值,并将旧数组与旧数组交换。
答案 1 :(得分:0)
您可以通过以下方式执行此操作:
0
)中创建outputZeros
的所有行的列表,并在输出列中创建1
的所有行的列表(称为{{ 1}});然后,outputOnes
和outputZeros
进行1.6M次替换。这是一个小例子。我不清楚您是否希望outputOnes
中的行按任何特定顺序排列,因此这里首先包含B
s,然后包括0
s。
1