如果该列中有任何列包含某个值,则在Pandas Dataframe中删除一行
发布于 2021-01-29 16:21:51
如果我们要删除一行中任何列都缺少值的行,我们可以这样做:
df.dropna(axis = 0, how = 'any', inplace = True)
如果我们要删除一行,其中该行的任何列都具有某个值(假设某列的值是“ turtle”),我们该怎么做?
x行的某些列包含“ turtle”,因此我们将其删除。
关注者
0
被浏览
167
1 个回答
-
演示:
样本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