Data Analysis

Pandas Tarih Zaman Sütunlarından Yıl ve Ayı Etkin Şekilde Çıkarma

Spread the love

Pandas’ta bir tarih saat sütunundan yıl ve ay çıkarmak yaygın bir işlemdir. Bu makale, ihtiyaçlarınıza en uygun yaklaşımı seçmenize yardımcı olmak için üç etkili yöntemi, güçlü ve zayıf yönlerini karşılaştırarak inceliyor.

İçerik Tablosu

.dt Erişimcisini Kullanma

.dt erişimcisi, tarih saat bileşenlerini çıkarmak için basit ve etkili bir yol sağlar. Okunabilirliği ve özlü olması nedeniyle genellikle tercih edilen yöntemdir.


import pandas as pd

data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)

df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month

print(df)

Bu kod şu çıktıyı verecektir:


         date  year  month
0 2024-03-15  2024      3
1 2023-11-20  2023     11
2 2024-05-10  2024      5

strftime() Yöntemini Kullanma

strftime() yöntemi, çıktı biçimini özelleştirmenize olanak tanıyarak daha fazla esneklik sunar. Bu, raporlama veya diğer amaçlar için yıl ve ayın belirli dize gösterimlerine ihtiyacınız olduğunda özellikle yararlıdır.


import pandas as pd

data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)

df['year'] = df['date'].dt.strftime('%Y')
df['month'] = df['date'].dt.strftime('%m') # Kısaltılmış ay adı için '%b', tam ad için '%B' kullanın

print(df)

Bu, şunu üretecektir:


         date  year month
0 2024-03-15  2024   03
1 2023-11-20  2023   11
2 2024-05-10  2024   05

Biçim kodlarının tam listesi için Python’ın strftime() dokümanına bakmayı unutmayın.

DatetimeIndex ile Doğrudan Erişim

‘date’ sütununuz zaten bir DatetimeIndex ise, yıl ve ay özniteliklerine doğrudan erişebilirsiniz. Daha az yaygın olsa da, verileriniz zaten bu biçimdeyse verimli olabilir.


import pandas as pd

data = {'date': pd.to_datetime(['2024-03-15', '2023-11-20', '2024-05-10'])}
df = pd.DataFrame(data)

date_index = pd.DatetimeIndex(df['date'])
df['year'] = date_index.year
df['month'] = date_index.month

print(df)

Bu, ilk örnekle aynı çıktıyı üretir. Bununla birlikte, bu yöntem, zaten bir DatetimeIndex nesnesi ile çalışmıyorsanız genellikle daha az tercih edilir.

Sonuç: .dt erişimcisi, çoğu senaryo için en özlü ve etkili yaklaşımı sunar. strftime() daha fazla biçimlendirme kontrolü sağlar, doğrudan DatetimeIndex erişimi ise duruma göre kullanışlıdır. İhtiyaçlarınıza ve kodlama stilinize en uygun yöntemi seçin. Gerekirse pd.to_datetime() kullanarak ‘date’ sütununuzun datetime türünde olduğundan emin olun.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir