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 :

ValueError: nan is not in list [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut ValueError: nan is not in list
    Je souhaite extraire des données sur les nouveaux cas de COVID en Belgique par région à partir d'un fichier csv de Sciensano (anciennement institut de santé publique).
    Ce csv à la structure suivante :
    DATE	PROVINCE	REGION	AGEGROUP	SEX	CASES
    2020-03-01	Brussels	Brussels	10-19	M	1
    2020-03-01	Brussels	Brussels	10-19	F	1
    2020-03-01	Brussels	Brussels	20-29	M	1
    Le fichier donne par date le nombre de cas d'une région pour chaque tranche d'âge. Je ne m'intéresse qu'aux nouveaux cas par région. J'ai extrait les dates uniques du fichier csv (lignes 13 à 17). Pour chaque entrée "REGION" j'additionne les cas pour une même date et une même région.

    Le problème est qu'il y a des données manquantes avec la valeur NaN. Lorsque je cherche l'index de la position d'une valeur de la colonne REGION (lignes 24 à 33), l'erreur ValueError: nan is not in list s'affiche.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    import pandas as pd
    import io
    import requests
    import numpy as np
    from matplotlib import pyplot as plt
    from datetime import date, timedelta
     
    url_CC = "https://epistat.sciensano.be/Data/COVID19BE_CASES_AGESEX.csv"
    s_CC = requests.get(url_CC).content
    df_CC = pd.read_csv(io.StringIO(s_CC.decode('iso_8859_1')))
     
    df_CC['REGION'] = df_CC['REGION'].astype(str)
    liste_dates = df_CC['DATE'].values
    liste_dates= liste_dates.astype(str)
    liste_dates = list(set(liste_dates))
    liste_dates.sort()
     
    len_liste_dates = len(liste_dates)
    Bruxelles_CC=[0 for i in range(len_liste_dates)]
    Wallonie_CC=[0 for i in range(len_liste_dates)]
    Flandre_CC=[0 for i in range(len_liste_dates)]
     
    for i in range(0,len(df_CC)):
      if df_CC.iloc[i,2] == "Brussels":
        position = liste_dates.index(df_CC.iloc[i,0])
        Bruxelles_CC[position]=Bruxelles_CC[position] + df_CC.iloc[i,5]
      if df_CC.iloc[i,2] == "Flanders":
        position = liste_dates.index(df_CC.iloc[i,0])
        Flandre_CC[position]=Flandre_CC[position] + df_CC.iloc[i,5]
      if df_CC.iloc[i,2] == "Wallonia":
        position = liste_dates.index(df_CC.iloc[i,0])
        Wallonie_CC[position]=Wallonie_CC[position] + df_CC.iloc[i,5]
     
    Bruxelles_cumul_CC=np.cumsum(Bruxelles_CC)
    Flandre_cumul_CC=np.cumsum(Flandre_CC)
    Wallonie_cumul_CC=np.cumsum(Wallonie_CC)
    Belgique_cumul_CC = list(map(sum, zip(Bruxelles_cumul_CC,Wallonie_cumul_CC,Flandre_cumul_CC)))
    Comment peut-on résoudre cette erreur ?

  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


    df_CC = pd.read_csv(io.StringIO(s_CC.decode('iso_8859_1')), na_values=[], na_filter=False)

    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 averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    Merci beaucoup :-) Ca marche bien

    df_CC = pd.read_csv(io.StringIO(s_CC.decode('iso_8859_1')), na_values=[], na_filter=False)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/04/2020, 21h02
  2. [AC-2010] liste déroulante not in liste
    Par electrosat03 dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/05/2017, 21h06
  3. eveneme NOT IN LIST dans une liste deroulante
    Par amne26 dans le forum IHM
    Réponses: 4
    Dernier message: 11/10/2008, 22h51
  4. LIST and not LINKED list
    Par bobkorn dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 20/05/2008, 19h00
  5. requete avec 'not in' + List
    Par nadhem dans le forum Hibernate
    Réponses: 6
    Dernier message: 07/01/2008, 14h59

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