Pandalar: yıl, ay ve günden oluşan bir tarih sütunu oluşturun
Pandas DataFrame’de yıl, ay ve gün sütunlarından bir tarih sütunu oluşturmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandas’ta yıl, ay ve günden bir tarih sütunu oluşturun
Diyelim ki bir şirketin farklı tarihlerde yaptığı satışları gösteren aşağıdaki panda DataFrame’imiz var:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' year ': [2021, 2022, 2022, 2022, 2022, 2022, 2022, 2022],
' month ': [7, 1, 1, 2, 5, 10, 11, 12],
' day ': [4, 15, 25, 27, 27, 24, 10, 18],
' sales ': [140, 200, 250, 180, 130, 87, 90, 95]})
#view DataFrame
print (df)
year month day sales
0 2021 7 4 140
1 2022 1 15 200
2 2022 1 25 250
3 2022 2 27 180
4 2022 5 27 130
5 2022 10 24 87
6 2022 11 10 90
7 2022 12 18 95
Her satır için bir tarih oluşturmak amacıyla DataFrame’deki yıl , ay ve gün sütunlarının değerlerini birleştiren tarih adı verilen yeni bir sütun oluşturmak için aşağıdaki sözdizimini kullanabiliriz:
#create date columns from year, month, and day columns
df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))
#view updated DataFrame
print (df)
year month day sales date
0 2021 7 4 140 2021-07-04
1 2022 1 15 200 2022-01-15
2 2022 1 25 250 2022-01-25
3 2022 2 27 180 2022-02-27
4 2022 5 27 130 2022-05-27
5 2022 10 24 87 2022-10-24
6 2022 11 10 90 2022-11-10
7 2022 12 18 95 2022-12-18
Tarih sütununun, her satırdaki yıl , ay ve gün sütunlarındaki değerlere göre tarih değerleri içerdiğini unutmayın.
DataFrame’deki her bir sütun hakkında bilgi almak için df.info() işlevini kullanırsak, yeni tarih sütununun datetime64 veri türüne sahip olduğunu görebiliriz:
#display information about each column in DataFrame
df. info ()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 year 8 non-null int64
1 month 8 non-null int64
2 day 8 non-null int64
3 dirty 8 non-null int64
4 date 8 non-null datetime64[ns]
dtypes: datetime64[ns](1), int64(4)
memory usage: 388.0 bytes
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 bir tarihe gün ekleme ve çıkarma
Pandalarda iki tarih arasındaki satırlar nasıl seçilir
Pandalarda iki tarih arasındaki fark nasıl hesaplanır?