Selesai: tukar lajur tarikh lahir kepada panda umur

Dalam dunia hari ini, analisis data telah menjadi semakin penting, dan salah satu alat paling popular yang digunakan oleh penganalisis data dan saintis data ialah Python dengan perpustakaan panda. Pandas ialah alat analisis dan manipulasi data sumber terbuka yang berkuasa yang membolehkan manipulasi mudah struktur dan siri data. Satu masalah biasa yang dihadapi pengguna ialah menukar tarikh lahir kepada umur untuk analisis yang lebih tepat dan praktikal. Dalam artikel ini, kami akan menyelidiki cara untuk menangani isu ini dengan contoh dan penjelasan yang jelas tentang pelaksanaan kod.

Pandas ialah alat serba boleh yang sering melibatkan kerja dengan objek DateTime - ini berlaku apabila berurusan dengan tarikh lahir. Langkah pertama untuk menukar tarikh lahir kepada umur memerlukan aritmetik mudah dengan perpustakaan DateTime. Ini akan membolehkan kita mencari umur individu dengan mengira perbezaan antara tarikh lahir mereka dan tarikh semasa.

Mari mulakan dengan mengimport perpustakaan yang diperlukan:

import pandas as pd
from datetime import datetime

Seterusnya, pertimbangkan set data ringkas yang mengandungi 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'])

Dalam kod di atas, kami menukar lajur 'Birth_Date' kepada objek DateTime.

Mengira Umur

Kini, kami bersedia untuk mengira umur individu ini dengan mencari perbezaan antara tarikh lahir mereka dan tarikh semasa. Untuk melakukan ini, ikuti langkah berikut:

1. Buat fungsi yang dipanggil 'calculate_age' yang mengambil tarikh lahir sebagai input dan mengembalikan umur seseorang.
2. Gunakan fungsi ini pada lajur 'Birth_Date' dalam DataFrame.

Inilah kod untuk melaksanakan logik 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 coretan kod ini, kami mencipta fungsi yang dipanggil 'calculate_age' yang menerima birth_date sebagai input, mengira tarikh semasa menggunakan datetime.now(), dan mengira umur seseorang dengan menolak tahun lahir mereka daripada tahun semasa. Jika mereka tarikh lahir belum berlaku tahun ini, kita tolak setahun tambahan.

Akhir sekali, kami menggunakan fungsi ini pada lajur 'Birth_Date' menggunakan kaedah apply() dan umur yang dikira disimpan dalam lajur 'Umur' baharu dalam DataFrame.

Menggunakan Numpy dan Panda untuk Pengiraan Umur

Sebagai alternatif, kita boleh menggunakan perpustakaan numpy yang berkuasa dalam kombinasi dengan panda untuk tugas ini. Untuk menukar tarikh lahir kepada umur menggunakan numpy, ikut langkah berikut:

1. Import perpustakaan numpy.
2. Gunakan fungsi 'floor' numpy untuk mengira umur.

Berikut ialah contoh cara melakukan ini:

import numpy as np

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

Kod ini menggunakan fungsi 'lantai' numpy untuk membulatkan hasil pembahagian titik terapung bagi bilangan hari sejak tarikh lahir sebanyak 365.25 (dengan mengambil kira tahun lompat).

Ringkasnya, dengan memanfaatkan perpustakaan seperti panda dan datetime atau panda dan numpy, ia menjadi lancar untuk menukar lajur tarikh lahir kepada umur dalam set data. Mengikuti langkah yang dijelaskan dan memahami kod yang disediakan dalam artikel ini akan melengkapkan anda dengan pengetahuan untuk memanipulasi data tersebut dan menjalankan analisis yang lebih cekap dan tepat.

Related posts:

Tinggalkan komen