J'ai une colonne "DateBecameRep_Year" qui contient uniquement des valeurs d'année (c'est-à-dire 1974, 1999, etc.). Je veux créer une nouvelle colonne dans ma base de données qui calcule la différence entre l'année en cours et l'année dans le champ "DateBecameRep_Year".Python: Comment calculer la différence btw Année et année en cours à partir de la colonne?
est sous le code que j'ai essayé d'utiliser:
df_DD['DateBecameRep_Year'] = pd.to_datetime(df_DD['DateBecameRep_Year'])
df_DD['Current Year'] = datetime.now().year
df_DD['Current Year'] = pd.to_datetime(df_DD['Current Year'])
df_DD['Years_Since_BecameRep'] = df_DD['Current Year'] - df_DD['DateBecameRep_Year']
df_DD['Years_Since_BecameRep'] = df_DD['Years_Since_BecameRep']/np.timedelta64(1, 'Y')
df_DD['Years_Since_BecameRep'].head()
Ceci est la sortie que je reçois qui semble très étrange:
Mon hypothèse est que cela a quelque chose à voir avec les éléments suivants:
Toute aide est grandement appréciée!
pouvez-vous étendre votre question avec un petit ensemble de données reproductibles (dans le texte/format CSV) et désiré ensemble de données? Actuellement, il est maintenant clair ce que vous essayez d'atteindre ... Pourquoi voudriez-vous convertir l'année (entier) en 'datetime' dtype? – MaxU
Je suppose que vous avez juste besoin d'une différence entre les années? Si c'est le cas, retirez la troisième ligne du code. –
Remplacez tout ce que vous code par 'df_DD ['Years_Since_BecameRep'] = datetime.now(). Year - df_DD ['DateBecameRep_Year']' et c'est tout, non? –