Résolu : convertir la colonne de date de naissance en pandas d'âge

Dans le monde d'aujourd'hui, l'analyse des données est devenue de plus en plus importante, et l'un des outils les plus populaires utilisés par les analystes de données et les data scientists est Python avec la bibliothèque pandas. Pandas est un puissant outil d'analyse et de manipulation de données open source qui permet une manipulation facile des structures et des séries de données. Un problème courant rencontré par les utilisateurs est la conversion des dates de naissance en âges pour une analyse plus précise et pratique. Dans cet article, nous verrons comment résoudre ce problème avec des exemples clairs et des explications sur l'implémentation du code.

Pandas est un outil polyvalent qui implique souvent de travailler avec des objets DateTime - c'est le cas lorsqu'il s'agit de dates de naissance. La première étape pour convertir les dates de naissance en âge nécessite une arithmétique simple avec la bibliothèque DateTime. Cela nous permettra de connaître l'âge des individus en calculant la différence entre leur date de naissance et la date actuelle.

Commençons par importer les bibliothèques nécessaires :

import pandas as pd
from datetime import datetime

Considérons ensuite un ensemble de données simple contenant les données suivantes sur les individus :

data = {'Name': ['John', 'Paul', 'George', 'Ringo'],
        'Birth_Date': ['1940-10-09', '1942-06-18', '1943-02-25', '1940-07-07']
       }

df = pd.DataFrame(data)
df['Birth_Date'] = pd.to_datetime(df['Birth_Date'])

Dans le code ci-dessus, nous convertissons la colonne 'Birth_Date' en objets DateTime.

Calcul de l'âge

Maintenant, nous sommes prêts à calculer les âges de ces individus en trouvant la différence entre leur date de naissance et la date actuelle. Pour le faire, suivez ces étapes:

1. Créez une fonction appelée 'calculate_age' qui prend une date de naissance comme entrée et renvoie l'âge de la personne.
2. Appliquez cette fonction à la colonne 'Birth_Date' dans le DataFrame.

Voici le code pour implémenter la logique ci-dessus :

def calculate_age(birth_date):
    today = datetime.now()
    age = today.year - birth_date.year - ((today.month, today.day) <
                                          (birth_date.month, birth_date.day))
    return age

df['Age'] = df['Birth_Date'].apply(calculate_age)

Dans cet extrait de code, nous avons créé une fonction appelée 'calculate_age' qui reçoit un birth_date en entrée, calcule la date actuelle à l'aide de datetime.now() et calcule l'âge de la personne en soustrayant son année de naissance de l'année en cours. Si leur la date de naissance n'a pas eu lieu cette année, on soustrait une année supplémentaire.

Enfin, nous appliquons cette fonction sur la colonne 'Birth_Date' en utilisant la méthode apply(), et les âges calculés sont stockés dans une nouvelle colonne 'Age' dans le DataFrame.

Utiliser Numpy et Pandas pour le calcul de l'âge

Alternativement, nous pouvons utiliser la puissante bibliothèque numpy en combinaison avec des pandas pour cette tâche. Pour convertir les dates de naissance en âges à l'aide de numpy, suivez ces étapes :

1. Importez la bibliothèque numpy.
2. Utilisez la fonction numpy 'floor' pour calculer l'âge.

Voici un exemple de la façon de procéder :

import numpy as np

df['Age'] = np.floor((datetime.now() - df['Birth_Date']).dt.days / 365.25)

Ce code utilise la fonction 'floor' de numpy pour arrondir le résultat de la division en virgule flottante du nombre de jours depuis la date de naissance par 365.25 (en tenant compte des années bissextiles).

En résumé, en exploitant des bibliothèques telles que pandas et datetime ou pandas et numpy, il devient transparent de convertir les colonnes de date de naissance en âge dans un ensemble de données. Suivre les étapes expliquées et comprendre le code fourni dans cet article vous donnera les connaissances nécessaires pour manipuler ces données et effectuer une analyse plus efficace et plus précise.

Articles connexes

Laisser un commentaire