Changements dans la dataset non pris en compte sur python ?

lesxya -  
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour ! 

Pour un projet de cours je dois étudier une base de donnée que j'ai préalablement faite. Mais avant ça, je dois afficher les valeurs anormales pour qu'elles ne faussent pas mon interprétation. Malheureusement, quand je demande à afficher celles qui sont aux extrémités avec cette ligne de code :

df[(df.stock_index_renault<lower_bound)|(df.stock_index_renault>upper_bound)]

... ça m'affiche tous le dataset et pas juste les valeurs anormales. Est-ce que vous sauriez comment voir que les changements que je fais sont bien effectifs s'il vous plaît ? 

C'est la même chose qui m'arrive quand je tente de remplacer les valeurs manquantes par la moyenne. J'ai beau mettre : 

df['stock_index_renault'].fillna(value=df['stock_index_renault'].mean())

... rien ne se passe...
Macintosh / Chrome 107.0.0.0

A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

peux-tu partager du code testable?

0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 

Bonjour,

Concernant la première commande, elle semble syntaxiquement et sémantiquement correcte, donc il faudrait voir ton jeu de données et comment tu l'as chargé.

Concernant la seconde commande, vu ce que tu veux faire, je pense que tu as oublié inplace=True (voir ce lien).

Exemple :

import pandas as pd
from io import StringIO

s_csv = """stock_index_renault
1
2
10
Nan
3
4
Nan
-2
5"""

df = pd.read_csv(StringIO(s_csv), na_values=["Nan"])
lower_bound = 0
upper_bound = 5
print(df)
print(df[(df.stock_index_renault < lower_bound)|(df.stock_index_renault > upper_bound)])
mean = df["stock_index_renault"].mean()
print(mean)
df["stock_index_renault"].fillna(value=mean, inplace=True)
print(df)

Résultat :

   stock_index_renault
0                  1.0
1                  2.0
2                 10.0
3                  NaN
4                  3.0
5                  4.0
6                  NaN
7                 -2.0
8                  5.0
   stock_index_renault
2                 10.0
7                 -2.0
3.2857142857142856
   stock_index_renault
0             1.000000
1             2.000000
2            10.000000
3             3.285714
4             3.000000
5             4.000000
6             3.285714
7            -2.000000
8             5.000000

Bonne chance

0