gpt4 book ai didi

python - 如果任何列包含特定值,则在所述行中删除 Pandas Dataframe 中的一行

转载 作者:太空狗 更新时间:2023-10-30 01:53:01 28 4
gpt4 key购买 nike

如果我们想删除任何列有缺失值的行,我们可以这样做:

df.dropna(axis = 0, how = 'any', inplace = True)

如果我们想要删除一行,其中该行的任何列都具有特定值(假设某列的值为“turtle”),我们如何做同样的事情?

第 x 行的某些列包含“turtle”,因此我们将其删除。

最佳答案

演示:

示例 DF:

In [7]: import string

In [8]: df = pd.DataFrame(np.random.randint(100, size=(10,10)), columns=list(string.ascii_letters[:10]))

In [9]: df
Out[9]:
a b c d e f g h i j
0 95 79 14 64 97 3 0 49 84 2
1 52 82 72 40 55 26 21 69 2 35
2 30 63 27 63 14 23 70 62 83 80
3 23 90 96 43 75 23 27 47 83 40
4 82 87 63 37 36 58 88 18 50 29
5 92 29 93 6 62 85 87 74 21 32
6 23 64 19 22 50 86 51 93 46 1
7 56 0 8 46 1 56 82 15 55 45
8 67 35 83 65 63 58 48 85 75 90
9 12 7 45 28 33 98 42 93 78 12

让我们删除至少包含一个 0 的所有行:

In [10]: df.eq(0)
Out[10]:
a b c d e f g h i j
0 False False False False False False True False False False
1 False False False False False False False False False False
2 False False False False False False False False False False
3 False False False False False False False False False False
4 False False False False False False False False False False
5 False False False False False False False False False False
6 False False False False False False False False False False
7 False True False False False False False False False False
8 False False False False False False False False False False
9 False False False False False False False False False False

In [11]: res = df[~df.eq(0).any(1)]

In [12]: res
Out[12]:
a b c d e f g h i j
1 52 82 72 40 55 26 21 69 2 35
2 30 63 27 63 14 23 70 62 83 80
3 23 90 96 43 75 23 27 47 83 40
4 82 87 63 37 36 58 88 18 50 29
5 92 29 93 6 62 85 87 74 21 32
6 23 64 19 22 50 86 51 93 46 1
8 67 35 83 65 63 58 48 85 75 90
9 12 7 45 28 33 98 42 93 78 12

关于python - 如果任何列包含特定值,则在所述行中删除 Pandas Dataframe 中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914985/

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