Pandalar: bir dizini tarih/saat'e dönüştürme


Pandas DataFrame’in dizin sütununu tarih saat biçimine dönüştürmek için aşağıdaki söz dizimini kullanabilirsiniz:

 df. index = pd. to_datetime ( df.index )

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

Örnek: Pandas’ta Dizin Sütunu Datetime’a Dönüştürme

Bir mağazadaki ürün satışlarıyla ilgili bilgileri içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' time ': ['4-15-2022 10:15', '5-19-2022 7:14', '8-01-2022 1:14',
                            '6-14-2022 9:45', '10-24-2022 2:58', '12-13-2022 11:03'],
                   ' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [12, 25, 23, 18, 14, 10]})

#set 'time' column as index
df = df. set_index (' time ')

#view DataFrame
print (df)

                 product sales
time                           
4-15-2022 10:15 A 12
5-19-2022 7:14 B 25
8-01-2022 1:14 C 23
6-14-2022 9:45 D 18
10-24-2022 2:58 E 14
12-13-2022 11:03 F 10

Şimdi indeks sütununda zamanı içeren yeni bir sütun oluşturmaya çalıştığımızı varsayalım:

 #attempt to create new column that contains hour of index column
df[' hour '] = df. index . hour

AttributeError: 'Index' object has no attribute 'hour'

Dizin sütunu şu anda tarihsaat biçiminde olmadığından ve bu nedenle ‘saat’ niteliğini içermediğinden bir hata alıyoruz.

Bu hatayı önlemek için, indeks sütununu datetime formatına dönüştürmek üzere pandas to_datetime() fonksiyonunu kullanabiliriz:

 #convert index column to datetime format
df. index = pd. to_datetime ( df.index )

#create new column that contains hour of index column
df[' hour '] = df. index . hour

#view updated DataFrame
print (df)

                    product sales hour
time                                    
2022-04-15 10:15:00 At 12 10
2022-05-19 07:14:00 B 25 7
2022-08-01 01:14:00 C 23 1
2022-06-14 09:45:00 D 18 9
2022-10-24 02:58:00 E 14 2
2022-12-13 11:03:00 F 10 11

to_datetime() fonksiyonunu kullanarak indeks sütununu datetime formatına dönüştürebiliriz.

Böylece indeks sütununda saat bilgisini içeren time adında yeni bir sütunu herhangi bir hata almadan başarıyla oluşturabiliyoruz.

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