Pandas DataFrame – menggunakan parse_dates dan to_datetime()

Pada modul ini akan digunakan data source baru https://drive.google.com/file/d/1z6QQlhyLhaHGntdt5QwMPSPW9iJIOZyb/view?usp=sharing

Pandas secara default tidak mengkonversi data date dari csv menjadi date time. Untuk melakukan konversi ada dua cara, saat import data menggunakan parse_dates atau melalui method to_datetime().

Menggunakan parse_dates

df = pd.read_csv("employees.csv", parse_dates=["Start Date", "Last Login Time"])

Parameter parse_dates dapat diisi dengan single string atau list of string dari nama kolom yang akan diparse menjadi date time.

Jika diperiksa menggunakan df.info() maka dapat dilihat tipe data dari kkolom start date dan last login time sudah dikonversi menjadi date time.

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 8 columns):
 #   Column             Non-Null Count  Dtype         
---  ------             --------------  -----         
 0   First Name         933 non-null    object        
 1   Gender             855 non-null    object        
 2   Start Date         1000 non-null   datetime64[ns]
 3   Last Login Time    1000 non-null   datetime64[ns]
 4   Salary             1000 non-null   int64         
 5   Bonus %            1000 non-null   float64       
 6   Senior Management  933 non-null    object        
 7   Team               957 non-null    object        
dtypes: datetime64[ns](2), float64(1), int64(1), object(4)
memory usage: 62.6+ KB

Menggunakan method to_datetime()

Cara kedua adalah dengan melakukan konversi melalui method to_datetime().

df = pd.read_csv("employees.csv")

df["Start Date"] = pd.to_datetime(df["Start Date"])
df["Last Login Time"] = pd.to_datetime(df["Last Login Time"])

Perhatian, jika data source tidak terdapat tanggal, seperti pada kolom Last Login Time, Pandas akan otomatis menambahkan tanggal per hari kode di eksekusi.

df["Last Login Time"]
0     2021-12-03 12:42:00
1     2021-12-03 06:53:00
2     2021-12-03 11:17:00
3     2021-12-03 13:00:00
4     2021-12-03 16:47:00
              ...        
995   2021-12-03 06:09:00
996   2021-12-03 06:30:00
997   2021-12-03 12:39:00
998   2021-12-03 16:45:00
999   2021-12-03 18:24:00
Name: Last Login Time, Length: 1000, dtype: datetime64[ns]

Sharing is caring:

Leave a Comment