Terpecahkan: ubah kolom tanggal lahir menjadi panda usia

Di dunia sekarang ini, analisis data menjadi semakin penting, dan salah satu alat paling populer yang digunakan oleh analis data dan ilmuwan data adalah Python dengan pustaka panda. Pandas adalah alat analisis dan manipulasi data sumber terbuka yang kuat yang memungkinkan manipulasi struktur dan rangkaian data dengan mudah. Satu masalah umum yang dihadapi pengguna adalah mengubah tanggal lahir menjadi usia untuk analisis yang lebih akurat dan praktis. Pada artikel ini, kami akan mempelajari cara mengatasi masalah ini dengan contoh dan penjelasan yang jelas tentang implementasi kode.

Pandas adalah alat serbaguna yang sering melibatkan bekerja dengan objek DateTime – ini adalah kasus ketika berhadapan dengan tanggal lahir. Langkah pertama untuk mengonversi tanggal lahir menjadi usia memerlukan aritmatika sederhana dengan pustaka DateTime. Ini akan memungkinkan kami untuk menemukan usia individu dengan menghitung perbedaan antara tanggal lahir mereka dan tanggal saat ini.

Mari kita mulai dengan mengimpor pustaka yang diperlukan:

import pandas as pd
from datetime import datetime

Selanjutnya, pertimbangkan kumpulan data sederhana yang berisi data berikut tentang individu:

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

Pada kode di atas, kami mengonversi kolom 'Birth_Date' menjadi objek DateTime.

Menghitung Umur

Sekarang, kami siap menghitung usia orang-orang ini dengan mencari selisih antara tanggal lahir mereka dan tanggal sekarang. Untuk melakukannya, ikuti langkah-langkah berikut:

1. Buat fungsi bernama 'calculate_age' yang mengambil tanggal lahir sebagai input dan mengembalikan usia seseorang.
2. Terapkan fungsi ini ke kolom 'Birth_Date' di DataFrame.

Berikut kode untuk mengimplementasikan logika di atas:

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)

Dalam cuplikan kode ini, kami membuat fungsi bernama 'calculate_age' yang menerima tanggal_lahir sebagai input, menghitung tanggal saat ini menggunakan datetime.now(), dan menghitung usia seseorang dengan mengurangkan tahun lahir mereka dari tahun sekarang. Jika mereka tanggal lahir belum terjadi tahun ini, kita kurangi satu tahun tambahan.

Terakhir, kami menerapkan fungsi ini pada kolom 'Birth_Date' menggunakan metode apply(), dan usia yang dihitung disimpan di kolom 'Umur' baru di DataFrame.

Menggunakan Numpy dan Pandas untuk Perhitungan Umur

Alternatifnya, kita dapat menggunakan perpustakaan numpy yang kuat dalam kombinasi dengan panda untuk tugas ini. Untuk mengonversi tanggal lahir menjadi usia menggunakan numpy, ikuti langkah-langkah berikut:

1. Impor pustaka numpy.
2. Gunakan fungsi 'lantai' numpy untuk menghitung usia.

Berikut ini contoh cara melakukannya:

import numpy as np

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

Kode ini menggunakan fungsi 'floor' numpy untuk membulatkan hasil pembagian floating-point dari jumlah hari sejak tanggal lahir sebesar 365.25 (dengan memperhitungkan tahun kabisat).

Singkatnya, dengan memanfaatkan perpustakaan seperti panda dan datetime atau panda dan numpy, menjadi mulus untuk mengonversi kolom tanggal lahir menjadi usia dalam kumpulan data. Mengikuti langkah-langkah yang dijelaskan dan memahami kode yang diberikan dalam artikel ini akan membekali Anda dengan pengetahuan untuk memanipulasi data tersebut dan melakukan analisis yang lebih efisien dan akurat.

Pos terkait:

Tinggalkan Komentar