IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

numpy.select valeur par défaut numérique [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Par défaut numpy.select valeur par défaut numérique
    Bonjour,

    Je m'initie à Python et certaines librairies (Numpy, Pandas, etc).

    J'ai une colonne numérique (l'âge des gens). Je veux créer à partir de celle-ci deux colonnes dans mon dataframe : une caractère qui va indiquer la classe d'âge, et une numérique qui correspondra aussi à chaque classe. Pour la caractère, j'arrive bien à définir une valeur vide par defaut avec default="". Mais pas pour la numérique.

    Voici ce qu'il se passe :
    - Si j'indique default="", j'obtiens une colonne caractère (apparemment appelée Object en Python, dites-moi si je me trompe), ce que je ne veux pas.
    - Si je n'indique pas de valeur par defaut, j'ai bien une colonne numérique à la fin, mais avec 0 en valeur par default.

    Je souhaite que la case reste vide. Apparemment c'est indiqué en NaN mais je n'arrive pas non plus avec default=NaN.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    age_cond = [
        (df['AGE'] <= 35),
        (df['AGE'] <= 50),
        (df['AGE'] <= 60),]
    agegr  = ["<= 35", "]35 - 50]", "]50 - 60]"]
    agegrn = [1, 2, 3]
     
    df_np = pd.DataFrame(df)
    df_np ['AGEGR']  = np.select(age_cond, agegr,  default="")
    df_np ['AGEGRN'] = np.select(age_cond, agegrn)
    Avez-vous des conseils ?

    J'ai une autre question à ce sujet même si je me doute de la réponse. On est bien d'accord pour dire qu'un code comme celui-ci correspond à un IF puis ELSE IF ? Je veux dire par là que l'ordinateur passe à la seconde condition (<=50) uniquement dans le cas où la précédente (<=35) n'est pas correcte.

    Par ailleurs, si vous connaissez un moyen plus simple avec une autre librairie de créer ce genre de variables, je suis preneur.

    Merci beaucoup !

    alers

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df_np ['AGEGR']  = np.select(age_cond, agegr,  default=np.nan)

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Par défaut
    Merci beaucoup ! J'aurais jamais pensé à procéder comme ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Balise SELECT valeur par défaut
    Par CCACC02 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/12/2019, 14h11
  2. problème selection valeur par défaut dans select
    Par sky88 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 26/04/2017, 16h50
  3. Listbox et selection valeur par défaut
    Par cazadeis dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/06/2009, 18h13
  4. [html:select] valeur par défaut avec liste dynamique
    Par CPI_en_mousse dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/07/2007, 14h29
  5. [MySQL] Valeur par défaut sur un SELECT
    Par hugo69 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/01/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo