Comment avec pandas supprimer d'une data frame les lignes avec des valeurs en dessous et au dessus d'une valeur minimum et maximum ?

Daidalos October 03, 2019


Exemple de solution sur comment supprimer avec pandas des lignes en utilisant une valeur minimum et maximum en utilisant la fonction between(). Soit le data frame suivant:

>>> import pandas as pd 
>>> data = {'Label':['a','b','c','d','e','f','g','h','i','j'],'Value 1':[0,9,3,7,2,6,5,9,6,3], 'Value 2':[56,34,99,11,78,89,34,94,65,36]} 
>>> df = pd.DataFrame(data)
>>> df
  Label  Value 1  Value 2
0     a        0       56
1     b        9       34
2     c        3       99
3     d        7       11
4     e        2       78
5     f        6       89
6     g        5       34
7     h        9       94
8     i        6       65
9     j        3       36

Si on veut supprimer les lignes dont les valeurs de la colonne "Value 1" ne sont pas entre les valeurs vmin et vmax suivantes:

>>> vmin = 3
>>> vmax = 7
>>> column = 'Value 1'

on peut utiliser la fonction between:

>>> df = df[df[column].between(vmin, vmax)]
>>> df
  Label  Value 1  Value 2
2     c        3       99
3     d        7       11
5     f        6       89
6     g        5       34
8     i        6       65
9     j        3       36

Si on veut maintenant supprimer les lignes dont les valeurs de la colonne "Value 2" ne sont pas entre les valeurs vmin et vmax suivantes:

>>> vmin = 20
>>> vmax = 80
>>> column = 'Value 2'

donne

>>> df = df[df['Value 2'].between(20, 80)]
>>> df
  Label  Value 1  Value 2
6     g        5       34
8     i        6       65
9     j        3       36

Références

Liens Site
between pandas.pydata.org
How to select rows in a DataFrame between two values, in Python Pandas? stackoverflow
How to exclude values from pandas dataframe? stackoverflow
pandas.DataFrame.clip pandas.pydata.org
Select rows from a DataFrame based on values in a column in pandas stackoverflow
Best way to subset a pandas dataframe stackoverflow
Indexing and Selecting Data with Pandas geeksforgeeks
Python Pandas DataFrame.where() geeksforgeeks

Licence


Google Ads


Activity


Google Ads