擅长:python、mysql、java
<p>根据我的理解,你有三个不同的群体,你想从这些群体中随机抽样,但是选择某些群体的概率有偏差。在这种情况下,首先随机生成与每个总体相对应的<em>索引</em>列表(因为我将它们组合成一个称为<code>combined</code>)的2D数组。在</p>
<p>然后,您可以遍历随机生成的索引列表,该列表提供了要从中选择的总体,然后使用<a href="https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.random.choice.html" rel="nofollow noreferrer">^{<cd2>}</a>从该数据中随机选取。在</p>
<pre><code>import numpy as np
sample_a = np.arange(1, 1000)
sample_b = np.arange(1001, 2000)
sample_c = np.arange(2001, 3000)
combined = np.vstack((sample_a, sample_b, sample_c))
distributions = [0.7, 0.2, 0.1] # The skewed probability distribution for sampling
sample = np.random.choice([0, 1, 2], size=10, p=distributions) # Choose indices with skewed probability
combined_pool = []
for arr in sample:
combined_pool.append(np.random.choice(combined[arr]))
</code></pre>