Çözüldü: doğum tarihi sütununu yaş pandalarına dönüştürün

Son Güncelleme: 09/11/2023

Günümüz dünyasında, veri analizi giderek daha önemli hale geldi ve veri analistleri ve veri bilimcileri tarafından kullanılan en popüler araçlardan biri pandalar kitaplığı ile Python'dur. Pandas, veri yapılarının ve serilerinin kolayca değiştirilmesine izin veren güçlü, açık kaynaklı bir veri analizi ve işleme aracıdır. Kullanıcıların karşılaştığı yaygın sorunlardan biri, daha doğru ve pratik analiz için doğum tarihlerini yaşlara dönüştürmektir. Bu yazıda, kod uygulamasının açık örnekleri ve açıklamalarıyla bu sorunun nasıl çözüleceğini inceleyeceğiz.

Pandas, genellikle DateTime nesneleriyle çalışmayı içeren çok yönlü bir araçtır - doğum tarihleriyle uğraşırken durum budur. Doğum tarihlerini yaşa çevirmenin ilk adımı, DateTime kitaplığıyla basit bir aritmetik işlem gerektirir. Bu, doğum tarihi ile şimdiki tarih arasındaki farkı hesaplayarak bireylerin yaşını bulmamızı sağlayacaktır..

Gerekli kitaplıkları içe aktararak başlayalım:

import pandas as pd
from datetime import datetime

Ardından, bireyler hakkında aşağıdaki verileri içeren basit bir veri kümesi düşünün:

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

Yukarıdaki kodda, 'Birth_Date' sütununu DateTime nesnelerine dönüştürüyoruz.

Yaş Hesaplama

Artık bu bireylerin yaşlarını, doğum tarihleri ​​ile şimdiki tarihleri ​​arasındaki farkı bularak hesaplamaya hazırız. Bunu yapmak için şu adımları izleyin:

1. Girdi olarak doğum tarihini alan ve kişinin yaşını döndüren 'hesap_yaşı' adlı bir işlev oluşturun.
2. Bu işlevi DataFrame'deki 'Birth_Date' sütununa uygulayın.

İşte yukarıdaki mantığı uygulamak için kod:

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)

Bu kod parçacığında, girdi olarak bir doğum_tarihi alan, datetime.now() kullanarak geçerli tarihi hesaplayan ve kişinin yaşını, içinde bulunulan yıldan doğum yılını çıkararak hesaplayan 'calculate_age' adlı bir işlev oluşturduk. eğer onların doğum tarihi bu yıl gerçekleşmedi, ek bir yılı çıkarırız.

Son olarak, Apply() yöntemini kullanarak 'Birth_Date' sütununda bu işlevi uyguluyoruz ve hesaplanan yaşlar DataFrame'de yeni bir 'Age' sütununda saklanıyor.

Yaş Hesaplaması İçin Numpy ve Pandaları Kullanma

Alternatif olarak, bu görev için güçlü numpy kitaplığını pandalarla birlikte kullanabiliriz. Numpy kullanarak doğum tarihlerini yaşlara dönüştürmek için şu adımları izleyin:

1. Numpy kitaplığını içe aktarın.
2. Yaşı hesaplamak için numpy 'kat' işlevini kullanın.

İşte bunun nasıl yapılacağına dair bir örnek:

import numpy as np

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

Bu kod, numpy'nin 'zemin' işlevini, kayan nokta bölme sonucunu yuvarlamak için kullanır. gün sayısı doğum tarihinden itibaren 365.25 (artık yıllar dikkate alınarak).

Özetle, pandas ve datetime veya pandas ve numpy gibi kitaplıklardan yararlanarak, bir veri kümesinde doğum tarihi sütunlarını yaşa dönüştürmek sorunsuz hale gelir. Açıklanan adımları takip etmek ve bu makalede sağlanan kodu anlamak, bu tür verileri işlemek ve daha verimli ve doğru bir analiz yapmak için size bilgi sağlayacaktır.

İlgili Mesajlar: