擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>import numpy as np
#to generate random sample
ratio = 1.979159389917336
no_fail = 16999
pass_to_choose = (data['Accceptable'] == 0)
#we want to choose all rows with Acceptable == 0
fail_to_choose = np.random.uniform(low = 0.0, high = 1.0, size = no_fail) < (1/ratio)
#randomly chosen 16999 bool values with relevant ratio of True and False
new_data = data[pass_to_choose]
#select all rows with Acceptable == 0
new_data = new_data.append(data[~pass_to_choose][fail_to_choose]).reset_index()
#add sampled rows with Acceptable == 1
</code></pre>