从数据框创建数据集,以便每个属性组合具有相同数量的正/负样本

时间:2019-12-07 03:19:52

标签: python pandas

问题

现在我有一个看起来像

的数据集
     attr1  attr2  attr3  attr4  attr5  attr6  attr7  attr8  attr9  attr10  y
0        0      0      1      1      1      0      0      0      1       1  1
1        0      0      0      0      0      0      0      1      0       0  1
2        1      0      0      1      1      0      1      0      0       1  1
3        1      0      1      0      0      1      1      0      1       1  1
4        0      1      1      1      1      1      0      0      0       1  1

产生
df = pd.DataFrame(data=np.random.randint(0, 2, size=(1000, 11)), 
                  columns=["attr"+str(i+1) for i in range(10)] + ["y"])

现在,我想拥有一个新的数据集,以使attr1attr10的每个组合都具有完全相同数量的正样本和负样本。例如,(0, 0, 0, 0, 0, ..., 0)将有100个正样本和负样本,(0, 0, 0, 0, ..., 1)也将有100个正样本和负样本,等等。

由于将有1024个不同的组合,因此无法进行枚举。我想知道是否有一些聪明的方法可以做到这一点。

0 个答案:

没有答案