Pandas: membuat kolom tanggal dari tahun, bulan dan hari


Anda dapat menggunakan sintaks dasar berikut untuk membuat kolom tanggal dari kolom tahun, bulan, dan hari di pandas DataFrame:

 df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Buat kolom tanggal dari tahun, bulan dan hari di Pandas

Katakanlah kita memiliki panda DataFrame berikut yang menunjukkan penjualan yang dilakukan oleh suatu perusahaan pada tanggal berbeda:

 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

Kita dapat menggunakan sintaks berikut untuk membuat kolom baru bernama tanggal yang menggabungkan nilai kolom tahun , bulan , dan hari di DataFrame untuk membuat tanggal untuk setiap baris:

 #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

Perhatikan bahwa kolom tanggal berisi nilai tanggal berdasarkan nilai pada kolom tahun , bulan , dan hari di setiap baris.

Jika kita menggunakan df.info() untuk mendapatkan informasi tentang setiap kolom di DataFrame, kita dapat melihat bahwa kolom tanggal baru memiliki tipe data datetime64 :

 #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

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 menghitung selisih dua kurma di panda

Tambahkan komentar

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