Différence entre colonne année et data d'aujourd'hui

isaure18 -  
jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaiterai créer une nouvelle colonne qui calcul la différence entre une colonne de mon dataset et l'année d'aujourd'hui.
J'ai en effet, une colonne appelée "YearBuilt" pour l'année de construction. Je voudrai soustraire les années de cette colonne avec l'année actuelle pour avoir l'ancienneté du batiment.

Merci à vous pour votre aide !

Isaure

3 réponses

  1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Bonjour,

    Récupérer la date du jour, extraire l'année, faire une soustraction
    from datetime import date
    
    YearBuilt = 2001
    Today = date.today()
    YearCurr =  int(Today.year)
    print(YearBuilt,YearCurr,YearCurr - YearBuilt)


    0
  2. isaure18
     
    bonjour merci pour votre réponse

    le souci que j'ai étant que YearBuilt est une colonne avec plusieurs données donc ce n'est pas une donnée fixe.
    Mon objectif est de faire la différence entre les valeurs "année" d'une colonne par rapport à l'année en cours.
    J'ai essayé cela :
    from datetime import date

    Today = date.today()
    YearCurr = int(Today.year)
    print(YearBuilt,YearCurr,YearCurr - data ['YearBuilt'])

    mais cela ne fonctionne pas, cela ne doit pas être la bonne syntaxe
    0
    1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
       
      Il y a quoi dans YearBuild, fais un print

      Car si cela contient 2001,2002,2010 c'est quoi la réponse à ancienneté ?
      0
  3. isaure18 Messages postés 4 Statut Membre
     
    0
    1. isaure18 Messages postés 4 Statut Membre
       
      il s'agit de calculer l'ancienneté du logement
      le premier a été construit en 2003 donc il a 17 ans (2020 - 2003)
      mais je ne vais pas calculer 100 lignes à la main..
      0
    2. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981 > isaure18 Messages postés 4 Statut Membre
       
      Si tu as une liste de données tu fais une boucle où tu traites chaque ligne pour faire le calcul
      0
    3. isaure18 Messages postés 4 Statut Membre > jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention  
       
      d'accord très bien, vous avez des indications afin de transformer la colonne de date en liste ?
      0
    4. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981 > isaure18 Messages postés 4 Statut Membre
       
      comme tu n'as décrit ni ton environnement, ni donné d'exemple de ton code python, par exemple celui qui génère la liste plus haut, on ne va rien pouvoir de dire plus
      0
    5. isaure18 Messages postés 4 Statut Membre > jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Je travaille sur jupyter
      et il s'agit de ce dataset https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data (concaténation du train et du test) que j'ai nommé data

      #concatenation des fichiers "train" et "test" 
      data = pd.concat([train,test])
      data.head() 
      0