从现有阵列替换的样本

时间:2014-07-16 19:17:38

标签: python numpy

我有一个形状为1.6M行和400列的矩阵A.

A中的一列(称为输出列)具有二进制值(0,1),其中优势为0。

我想通过对A中的行进行采样来创建一个新的矩阵B(与A相同的形状),这样就可以得到0和&的分布。 B中输出列中的1变为 50/50

使用python / numpy执行此操作的有效方法是什么?

2 个答案:

答案 0 :(得分:0)

我会创建一个新的1D numpy数组,其中包含来自numpy.random.random_integers(low, high=None, size=None)的值,并将旧数组与旧数组交换。

答案 1 :(得分:0)

您可以通过以下方式执行此操作:

  1. 在“输出列”(名为0)中创建outputZeros的所有行的列表,并在输出列中创建1的所有行的列表(称为{{ 1}});然后,
  2. outputOnesoutputZeros进行1.6M次替换。
  3. 这是一个小例子。我不清楚您是否希望outputOnes中的行按任何特定顺序排列,因此这里首先包含B s,然后包括0 s。

    1