Marquer le dataframe si une certaine condition n'est pas remplie

Oct 21 2020

J'ai un dataframe, df, qui montre certaines valeurs pour un jour donné ainsi qu'un pourcentage d'augmentation. Je voudrais en quelque sorte `` marquer '' mon dataframe si le percentIncrease> ou <une certaine valeur.

   Date           Value  PercentIncrease
    
   10/08/2020     30     0%
   10/07/2020     30     0%
   10/06/2020     30     0%
   10/05/2020     30     0%
   10/04/2020     30     0%

Sortie désirée:

   Date           Value  PercentIncrease  Flag
    
   10/08/2020     6     0%
   10/07/2020     6     0%
   10/06/2020     6     0%
   10/05/2020     1000  16666%           OutofBounds
   10/04/2020     6     0%

Voici ce que je fais:

if  df[PercentIncrease'] > 10%():
          df['Flag'] = df['Flag'] = ['OutofBounds']

Toute suggestion est appréciée

Réponses

2 adhg Oct 21 2020 at 20:04

J'irais avec le numpy pratique «où».

tel que:

df['Flag'] = np.where(df['PercentIncrease']>'10%','OutofBounds','')

de cette façon, vous pouvez toujours utiliser 2 valeurs en cas de True ou False. Dans votre cas, j'ai utilisé OutofBounds et une chaîne vide. Ajustez au goût.