<p>您可以将所有值连接在一起,然后使用<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html" rel="nofollow noreferrer">^{<cd1>}</a>:</p>
<pre><code>a = np.r_[np.arange(4,10), np.arange(-4,-10, -1), np.arange(15, 100)]
</code></pre>
<p>或:</p>
<pre><code>a = np.concatenate([np.arange(4,10), np.arange(-4,-10, -1), np.arange(15, 100)])
print (a)
[ 4 5 6 7 8 9 -4 -5 -6 -7 -8 -9 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]
</code></pre>
<hr/>
<pre><code>df['col1'] = np.random.choice(a, size=df.shape[0])
print (df)
col1
0 5
1 65
2 41
3 31
4 86
5 5
6 99
7 42
8 37
9 38
10 -7
11 7
</code></pre>
<p>编辑:</p>
<pre><code>size = int(df.shape[0]/3)
remain = df.shape[0] - 2 * size
a = np.random.randint(4,10, size=size)
b = np.random.randint(-10,-4, size=size)
c = np.random.randint(15,100, size=remain)
d = np.r_[a,b,c]
np.random.shuffle(d)
df['col1'] = d
print (df)
col1
0 8
1 -7
2 66
3 60
4 8
5 -9
6 24
7 -9
8 7
9 8
10 86
11 -5
12 5
13 -8
14 40
</code></pre>