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

Fermé
isaure18 - 24 juin 2020 à 14:49
jee pee Messages postés 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 - 24 juin 2020 à 16:17
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 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
24 juin 2020 à 15:12
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
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 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225
24 juin 2020 à 15:23
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 mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020
24 juin 2020 à 15:27
0
isaure18 Messages postés 4 Date d'inscription mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020
24 juin 2020 à 15:28
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 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225 > isaure18 Messages postés 4 Date d'inscription mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020
24 juin 2020 à 15:35
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 mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020 > jee pee Messages postés 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024
24 juin 2020 à 15:40
d'accord très bien, vous avez des indications afin de transformer la colonne de date en liste ?
0
jee pee Messages postés 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024 9 225 > isaure18 Messages postés 4 Date d'inscription mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020
24 juin 2020 à 15:44
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 mercredi 24 juin 2020 Statut Membre Dernière intervention 24 juin 2020 > jee pee Messages postés 39585 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 19 avril 2024
24 juin 2020 à 15:53
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