Pandas: cara menghitung timedelta dalam bulan


Anda dapat menggunakan fungsi berikut untuk menghitung delta waktu dalam bulan antara dua kolom DataFrame pandas:

 def month_diff(x, y):
    end = x. dt . to_period (' M '). view (dtype=' int64 ')
    start = y. dt . to_period (' M '). view (dtype=' int64 ')
    return end-start

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Hitung Timedelta dalam bulan di Pandas

Misalkan kita memiliki panda DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' event ': ['A', 'B', 'C'],
                   ' start_date ': ['20210101', '20210201', '20210401'],
                   ' end_date ': ['20210608', '20210209', '20210801'] })

#convert start date and end date columns to datetime
df[' start_date '] = pd. to_datetime (df[' start_date '])
df[' end_date '] = pd. to_datetime (df[' end_date '])

#view DataFrame
print (df)

  event start_date end_date
0 A 2021-01-01 2021-06-08
1 B 2021-02-01 2021-02-09
2 C 2021-04-01 2021-08-01

Sekarang misalkan kita ingin menghitung delta waktu (dalam bulan) antara kolom tanggal_mulai dan tanggal_akhir .

Untuk melakukan ini, pertama-tama kita akan mendefinisikan fungsi berikut:

 #define function to calculate time delta in months between two columns
def month_diff(x, y):
    end = x. dt . to_period (' M '). view (dtype=' int64 ')
    start = y. dt . to_period (' M '). view (dtype=' int64 ')
    return end-start

Selanjutnya, kita akan menggunakan fungsi ini untuk menghitung delta waktu dalam bulan antara kolom tanggal_mulai dan tanggal_akhir :

 #calculate month difference between start date and end date columns
df[' month_difference '] = month_diff(df. end_date , df. start_date )

#view updated DataFrame
df

    event start_date end_date month_difference
0 A 2021-01-01 2021-06-08 5
1 B 2021-02-01 2021-02-09 0
2 C 2021-04-01 2021-08-01 4

Kolom Month_difference menampilkan delta waktu (dalam bulan) antara kolom start_date dan end_date .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara mengonversi kolom menjadi DateTime di Pandas
Bagaimana cara mengonversi DateTime ke tanggal di Pandas
Cara mengekstrak bulan dari tanggal di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *