Pandas: cara mendapatkan hari dalam setahun dari tanggal


Anda dapat menggunakan sintaks dasar berikut untuk mendapatkan hari dalam setahun dari kolom tanggal di pandas DataFrame:

 df[' day_of_year '] = df[' date ']. dt . dayofyear

Contoh khusus ini membuat kolom baru bernama day_of_year yang berisi hari dalam setahun dari nilai di kolom tanggal .

Perhatikan bahwa nilai hari_tahun_akan berkisar dari 1 (1 Januari) hingga 365 (31 Desember).

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Dapatkan hari dalam setahun dari tanggal di Pandas

Misalkan kita memiliki panda DataFrame berikut yang berisi informasi tentang total penjualan yang dilakukan di toko pada tanggal berbeda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2022 ', freq=' M ', periods= 10 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14

Terkait: Cara Membuat Rentang Tanggal di Pandas

Kita dapat menggunakan kode berikut untuk membuat kolom baru bernama day_of_year yang berisi hari dalam setahun dari kolom tanggal :

 #create new column that contains day of year in 'date' column
df[' day_of_year '] = df[' date ']. dt . dayofyear

#view updated DataFrame
print (df)

        date sales day_of_year
0 2022-01-31 6 31
1 2022-02-28 8 59
2 2022-03-31 10 90
3 2022-04-30 5 120
4 2022-05-31 4 151
5 2022-06-30 8,181
6 2022-07-31 8,212
7 2022-08-31 3,243
8 2022-09-30 5,273
9 2022-10-31 14,304

Kolom baru bernama day_of_year berisi hari dalam setahun dari kolom tanggal .

Perlu dicatat bahwa jika Anda bekerja dengan tahun kabisat, fungsi ini secara otomatis akan memperluas rentang nilai yang mungkin dari 365 menjadi 366.

Perhatikan juga bahwa jika kolom yang Anda kerjakan adalah kolom string, Anda harus menggunakan pd.to_datetime() terlebih dahulu untuk mengonversi string menjadi tanggal yang dapat dikenali:

 #convert string column to datetime and calculate day of year
df[' day_of_year '] = pd. to_datetime (df[' date ']). dt . dayofyear

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas dayofyear di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara menambah dan mengurangi hari dari tanggal di Pandas
Cara memilih baris antara dua tanggal di Pandas
Cara membuat kolom tanggal dari tahun, bulan dan hari di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *