我想从数据框中删除特定的'n'行,其中要删除的行是随机选择的。此外,它必须根据特定列值上的条件选择行。
例如,我的数据框如下:
现在,我想随机删除符合条件
结果数据框如下:
例如,我的数据框如下:
C1 C2 C3
1 0 a
2 1 b
3 0 c
4 0 d
5 0 e
6 1 f
7 1 g
8 1 h
9 0 i
现在,我想随机删除符合条件
C2==1
的n=2
行。结果数据框如下:
C1 C2 C3
1 0 a
3 0 c
4 0 d
5 0 e
6 1 f
8 1 h
9 0 i
或者
C1 C2 C3
1 0 a
2 1 b
3 0 c
4 0 d
5 0 e
7 1 g
9 0 i
或者可能还有其他的选择。
这个问题在这里展示如何随机删除“n”个句子,但它并没有提供条件。
df1 = df.drop(df[df['C2'].eq(1)].sample(N).index)
可以正常工作。但是df = df.drop(np.random.choice(df.index[df['C2'].eq(1)], N))
不行。 - Ashwin Geet D'Sadf1 = df.drop(df[df['C2'].eq(1)].sample(N).index)
,我得到了32294行,这正是我想要的,数据看起来很好。但是如果使用df.drop(np.random.choice(df.index[df['C2'].eq(1)], N))
,我得到了49667行。 - Ashwin Geet D'Sa