gpt4 book ai didi

python - 如何根据条件删除 Pandas 数据框中特定数量的随机行?

转载 作者:行者123 更新时间:2023-12-01 07:28:29 25 4
gpt4 key购买 nike

我想从数据框中删除特定的“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

现在,我想随机删除 n=2 行,条件是 C2==1

最终的框架如下:

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

或者也许还有其他可能。问题here dows显示随机删除'n'个句子,但不包括提供条件。

最佳答案

boolean indexing过滤行与 DataFrame.sample对于随机行,最后使用 drop:

N = 2
df1 = df.drop(df[df['C2'].eq(1)].sample(N).index)
print (df1)
C1 C2 C3
0 1 0 a
1 2 1 b
2 3 0 c
3 4 0 d
4 5 0 e
6 7 1 g
8 9 0 i

或者使用np.random.choice作为随机索引值:

df = df.drop(np.random.choice(df.index[df['C2'].eq(1)], N))

关于python - 如何根据条件删除 Pandas 数据框中特定数量的随机行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57327960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com