Comment vérifier si une ligne d'une DataFrame Pandas contient des valeurs négatives ?

Published: 25 septembre 2023

Tags: Python; Pandas; Dataframe;

DMCA.com Protection Status

Une façon de vérifier si une ligne d'une DataFrame Pandas contient des valeurs négatives est d'utiliser la méthode boolean_array.any() de Numpy. Cette méthode recherche toute valeur négative et retourne True si une valeur négative est trouvée. Vous pouvez également utiliser la méthode boolean_array.all() pour vérifier si toutes les valeurs d'une ligne sont négatives. Cela retournera True si toutes les valeurs dans la ligne sont négatives.

Créer des données synthétiques

Tout d'abord, générons des données artificielles et utilisons-les pour créer une dataframe Pandas.

import pandas as pd
import numpy as np

np.random.seed(42)

data = np.random.uniform(low=-9.0, high=100.0, size=(10,4))

df = pd.DataFrame(data=data, columns=['A','B','C','D']).round(1)

print(df)

Le code ci-dessus générera :

      A     B     C     D
0  31.8  94.6  70.8  56.3
1   8.0   8.0  -2.7  85.4
2  56.5  68.2  -6.8  96.7
3  81.7  14.1  10.8  11.0
4  24.2  48.2  38.1  22.7
5  57.7   6.2  22.8  30.9
6  40.7  76.6  12.8  47.1
7  55.6  -3.9  57.2   9.6
8  -1.9  94.4  96.3  79.1
9  24.2   1.6  65.6  39.0

En utilisant any()

Vérifier les valeurs négatives dans une dataframe Pandas peut être fait en utilisant la méthode any() le long de l'axe 1 :

(df < 0).any(axis=1)

donne

0    False
1     True
2     True
3    False
4    False
5    False
6    False
7     True
8     True
9    False
dtype: bool

En utilisant min()

Une autre façon d'accomplir cette tâche est d'utiliser la méthode min().

df.min(axis=1)

donne

0    31.8
1    -2.7
2    -6.8
3    10.8
4    22.7
5     6.2
6    12.8
7    -3.9
8    -1.9
9     1.6
dtype: float64

Références

Liens Site
any() pandas.pydata.org
min() pandas.pydata.org