我有一个熊猫数据框,如下所示:
col1, col2, label
a b 0
b b , 0
.
.
.......... 0
.......... 1
和标签列的value_counts
:
df['label'].value_counts():
0: 200000
1: 10000
我想从值为'0'的标签中随机选择50000行,以使我的value_counts变为:
0: 50000
1: 10000
答案 0 :(得分:1)
过滤每个值和每个值中的sample
N
个值。然后,获取他们的索引,通过union
和仅loc
s0 = df.label[df.label.eq(0)].sample(50000).index
s1 = df.label[df.label.eq(1)].sample(10000).index
df = df.loc[s0.union(s1)]
当然,如果您只需要获取所有{:{1}},就无需在10000
中指定s1
:)