Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggabungkan Lajur Tarikh dan Masa dalam Panda?

Bagaimana untuk Menggabungkan Lajur Tarikh dan Masa dalam Panda?

DDD
DDDasal
2024-11-15 19:10:03822semak imbas

How to Combine Date and Time Columns in Pandas?

Gabungkan Lajur Tarikh dan Masa Menggunakan Panda

Apabila bekerja dengan data temporal, selalunya perlu menggabungkan lajur tarikh dan masa untuk mendapatkan satu nilai cap masa. Pandas menyediakan pelbagai pilihan untuk mencapai ini, termasuk fungsi pd.to_datetime().

Menggabungkan Rentetan dan Menggunakan pd.to_datetime()

Dalam beberapa senario, tarikh anda dan lajur masa disimpan sebagai rentetan. Untuk menggabungkannya, anda hanya boleh menggabungkannya dengan ruang seperti berikut:

df['Date'] + ' ' + df['Time']

Setelah rentetan disatukan, anda boleh menggunakan pd.to_datetime() untuk menukarnya menjadi objek DatetimeIndex:

pd.to_datetime(df['Date'] + ' ' + df['Time'])

Pendekatan ini membolehkan anda menggunakan format kesimpulan rentetan bercantum, yang biasanya merupakan gabungan format tarikh dan masa bagi lajur individu.

Menggunakan format= Parameter

Walau bagaimanapun, jika rentetan tarikh dan masa anda tidak dalam format piawai, atau jika anda ingin menentukan format secara eksplisit, anda boleh menggunakan parameter format= seperti berikut:

pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')

Di sini, anda menentukan format tepat rentetan bercantum, memastikan penukaran yang tepat.

Menghuraikan Tarikh Terus

Sebagai alternatif kepada rentetan penggabungan, anda juga boleh menghuraikan maklumat tarikh dan masa secara langsung menggunakan pd.read_csv() dengan parameter parse_dates. Parameter ini membolehkan anda menentukan senarai lajur untuk dihuraikan sebagai objek datetime.

Sebagai contoh, jika data anda disimpan dalam fail CSV bernama "data.csv":

import pandas as pd

df = pd.read_csv("data.csv", parse_dates=[['Date', 'Time']])

Dalam kes ini, Pandas akan menghuraikan lajur yang ditentukan secara automatik ke dalam DatetimeIndex.

Pertimbangan Prestasi

Apabila bekerja dengan set data yang besar, prestasi menjadi penting. Menggabungkan rentetan dan kemudian menukarnya kepada datetime mengambil masa yang lebih lama daripada menghurai terus maklumat tarikh dan masa. Seperti yang ditunjukkan oleh hasil pemasaan berikut menggunakan perintah ajaib %timeit:

# Sample dataframe with 10 million rows
df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True)

# Time to combine strings and convert to datetime
%timeit pd.to_datetime(df['Date'] + ' ' + df['Time'])

# Time to parse dates directly
%timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')

Hasilnya menunjukkan bahawa penghuraian langsung adalah lebih pantas, terutamanya untuk set data yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Lajur Tarikh dan Masa dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn