Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Perbezaan Masa Antara Dua Lajur Panda dalam Jam dan Minit Sahaja?
Dalam analisis data, selalunya perlu mengira perbezaan masa antara dua tarikh atau cap masa. Pandas, perpustakaan analisis data yang popular dalam Python, menyediakan kaedah yang mudah untuk pengiraan sedemikian. Walau bagaimanapun, apabila perbezaan masa melebihi 24 jam, hasilnya mungkin termasuk hari sebagai komponen. Artikel ini membincangkan cara untuk menukar hasil ini kepada hanya menunjukkan jam dan minit.
Pertimbangkan contoh rangka data berikut dengan dua lajur, dari tarikh dan sehingga kini:
import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data)
Untuk mengira perbezaan antara kedua-dua lajur tarikh, kita boleh menggunakan operator -:
df['diff'] = df['fromdate'] - df['todate']
Operasi ini menghasilkan lajur perbezaan, yang mengandungi objek datetime.timedelta. Walau bagaimanapun, objek ini mungkin termasuk hari sebagai komponen, seperti yang dilihat dalam output berikut:
todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760000
Untuk menukar hasil ini kepada jam dan minit sahaja, kita boleh menggunakan kaedah astype() dengan 'timedelta64[ h]' argument:
(df.fr-df.to).astype('timedelta64[h]')
Kod ini akan menukarkan perbezaan masa kepada jam, menghasilkan yang berikut output:
0 58 1 3 2 8 dtype: float64
Dengan menggunakan kaedah ini, kita boleh memperoleh perbezaan masa antara dua tarikh atau cap masa dalam jam dan minit, tidak kira sama ada perbezaan melebihi 24 jam atau tidak.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Masa Antara Dua Lajur Panda dalam Jam dan Minit Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!