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

isaure18 -  
jee pee Messages postés 41520 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
A voir également:

3 réponses

jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
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
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
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Il y a quoi dans YearBuild, fais un print

Car si cela contient 2001,2002,2010 c'est quoi la réponse à ancienneté ?
0
isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
0
isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Si tu as une liste de données tu fais une boucle où tu traites chaque ligne pour faire le calcul
0
isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > jee pee Messages postés 41520 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
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
isaure18 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > jee pee Messages postés 41520 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