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?