Gelöst: Geburtsdatumsspalte in Alterspandas umwandeln

In der heutigen Welt wird die Datenanalyse immer wichtiger, und eines der beliebtesten Tools, das von Datenanalysten und Datenwissenschaftlern verwendet wird, ist Python mit der Pandas-Bibliothek. Pandas ist ein leistungsstarkes Open-Source-Tool zur Datenanalyse und -bearbeitung, das eine einfache Bearbeitung von Datenstrukturen und -reihen ermöglicht. Ein häufiges Problem, auf das Benutzer stoßen, ist die Umwandlung von Geburtsdaten in Altersangaben für eine genauere und praktischere Analyse. In diesem Artikel werden wir uns mit klaren Beispielen und Erläuterungen zur Codeimplementierung mit der Lösung dieses Problems befassen.

Pandas ist ein vielseitiges Tool, bei dem häufig mit DateTime-Objekten gearbeitet wird – dies ist der Fall, wenn es um Geburtsdaten geht. Der erste Schritt zum Konvertieren von Geburtsdaten in das Alter erfordert eine einfache Arithmetik mit der DateTime-Bibliothek. Auf diese Weise können wir das Alter von Personen ermitteln, indem wir die Differenz zwischen ihrem Geburtsdatum und dem aktuellen Datum berechnen.

Beginnen wir mit dem Importieren der erforderlichen Bibliotheken:

import pandas as pd
from datetime import datetime

Betrachten Sie als Nächstes einen einfachen Datensatz, der die folgenden Daten über Einzelpersonen enthält:

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'])

Im obigen Code konvertieren wir die Spalte „Birth_Date“ in DateTime-Objekte.

Alter berechnen

Jetzt können wir das Alter dieser Personen berechnen, indem wir die Differenz zwischen ihrem Geburtsdatum und dem aktuellen Datum ermitteln. Gehen Sie dazu folgendermaßen vor:

1. Erstellen Sie eine Funktion namens „calculate_age“, die ein Geburtsdatum als Eingabe nimmt und das Alter der Person zurückgibt.
2. Wenden Sie diese Funktion auf die Spalte „Birth_Date“ im DataFrame an.

Hier ist der Code zum Implementieren der obigen Logik:

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)

In diesem Code-Snippet haben wir eine Funktion namens „calculate_age“ erstellt, die ein Geburtsdatum als Eingabe erhält, das aktuelle Datum mit datetime.now() berechnet und das Alter der Person berechnet, indem sie ihr Geburtsjahr vom aktuellen Jahr subtrahiert. Wenn ihre Geburtsdatum ist dieses Jahr nicht aufgetreten, ziehen wir ein weiteres Jahr ab.

Schließlich wenden wir diese Funktion mit der Methode apply() auf die Spalte „Birth_Date“ an, und das berechnete Alter wird in einer neuen Spalte „Age“ im DataFrame gespeichert.

Verwendung von Numpy und Pandas zur Altersberechnung

Alternativ können wir für diese Aufgabe die leistungsstarke numpy-Bibliothek in Kombination mit Pandas verwenden. Gehen Sie folgendermaßen vor, um die Geburtsdaten mit numpy in Altersangaben umzuwandeln:

1. Importieren Sie die numpy-Bibliothek.
2. Verwenden Sie die numpy 'floor'-Funktion, um das Alter zu berechnen.

Hier ist ein Beispiel dafür:

import numpy as np

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

Dieser Code verwendet die 'floor'-Funktion von numpy, um das Ergebnis der Gleitkommadivision abzurunden Anzahl der Tage seit dem Geburtsdatum um 365.25 (unter Berücksichtigung von Schaltjahren).

Zusammenfassend lässt sich sagen, dass es durch die Nutzung von Bibliotheken wie pandas und datetime oder pandas und numpy nahtlos wird, Geburtsdatumsspalten innerhalb eines Datensatzes in das Alter umzuwandeln. Wenn Sie die erklärten Schritte befolgen und den in diesem Artikel bereitgestellten Code verstehen, werden Sie mit dem Wissen ausgestattet, solche Daten zu manipulieren und eine effizientere und genauere Analyse durchzuführen.

Zusammenhängende Posts:

Hinterlasse einen Kommentar