当我使用此代码时,我有相同的值。我在随机中做错了什么?
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))
答案 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长度的唯一元素列表。用于无需替换的随机抽样。