Pandalar: tarih ve saat sütunları nasıl birleştirilir


Pandas DataFrame’in tarih ve saat sütunlarını tek bir sütunda birleştirmek için aşağıdaki sözdizimini kullanabilirsiniz:

 df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

Bu sözdiziminin, tarih ve saat sütunlarının her ikisinin de geçerli dizeler olduğunu varsaydığını unutmayın.

Her iki sütun da zaten dize değilse, bunları dizelere dönüştürmek için astype(str) komutunu kullanabilirsiniz:

 df[' datetime '] = pd. to_datetime (df[' date ']. astype ( str ) + ' ' + df[' time ']. astype ( str ))

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandalarda Tarih ve Saat Sütunlarını Birleştirme

Diyelim ki bir tarih sütunu ve bir zaman sütunu içeren aşağıdaki pandalar DataFrame’e sahibiz:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': ['10-1-2023', '10-4-2023', '10-6-2023', '10-6-2023',
                            '10-14-2023', '10-15-2023', '10-29-2023'],
                   ' time ': ['4:15:00', '7:16:04', '9:25:00', '10:13:45',
                            '15:30:00', '18:15:00', '23:15:00']})

#view DataFrame
print (df)

         date time
0 10-1-2023 4:15:00
1 10-4-2023 7:16:04
2 10-6-2023 9:25:00
3 10-6-2023 10:13:45
4 10-14-2023 15:30:00
5 10-15-2023 18:15:00
6 10-29-2023 23:15:00

Diyelim ki tarih ve saat sütunlarındaki değerleri birleştiren datetime adında yeni bir sütun oluşturmak istiyoruz.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

 #create new datetime column
df[' datetime '] = pd. to_datetime (df[' date '] + ' ' + df[' time '])

#view updated DataFrame
print (df)

         datetime datetime
0 10-1-2023 4:15:00 2023-10-01 04:15:00
1 10-4-2023 7:16:04 2023-10-04 07:16:04
2 10-6-2023 9:25:00 2023-10-06 09:25:00
3 10-6-2023 10:13:45 2023-10-06 10:13:45
4 10-14-2023 15:30:00 2023-10-14 15:30:00

Yeni tarihsaat sütununun, tarih ve saat sütunlarındaki değerleri tek bir sütunda başarıyla birleştirdiğini unutmayın.

DataFrame’deki her sütunun veri türlerini kontrol etmek için dtypes işlevini de kullanabiliriz:

 #view data type of each column
df. dtypes

date object
time object
datetime datetime64[ns]
dtype:object

Sonuçtan, tarih ve saat sütunlarının her ikisinin de nesneler (yani dizeler) olduğunu ve yeni tarihsaat sütununun bir tarihsaat olduğunu görebiliriz.

Not : Pandas to_datetime() işlevinin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar’da tarih aralığı nasıl oluşturulur?
Pandalar’da zaman damgasını tarih/saat’e dönüştürme
Pandalarda iki tarih arasındaki fark nasıl hesaplanır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir