使用随机时的值相同

时间:2018-05-03 11:20:15

标签: python random

当我使用此代码时,我有相同的值。我在随机中做错了什么?

data = data[data["VN"] >= 1000]
data_T1 = data[data["TARGET"] == 1]
data_T0 = data[data["TARGET"] == 0]
data_T0_random = data_T0.loc[np.random.choice(data_T0.index, 10000)]
data = data_T1.append(data_T0_random)
print('q:', len(data.index))
rr = data.drop_duplicates()
print('qq:', len(rr.index))

2 个答案:

答案 0 :(得分:1)

使用replace=False

<强>实施例

data_T0_random=data_T0.loc[np.random.choice(data_T0.index, 10000, replace=False)]

答案 1 :(得分:0)

更改此行:

data_T0_random=data_T0.loc[np.random.choice(data_T0.index, 10000)]

为:

data_T0_random=random.sample(data_T0,10000)

更多信息:

  

random.choices(人口,权重=无,*,cum_weights =无,k = 1)   返回从具有替换的人口中选择的k大小的元素列表。如果填充为空,则引发IndexError。

     

random.sample(population,k)   返回从总体序列或集合中选择的k长度的唯一元素列表。用于无需替换的随机抽样。