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]