ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการสร้างและประมวลผล timestamp ต่างๆ โดยใช้ built-in pandas library เรายังใช้โมดูล numpy เพื่อสร้างและแก้ไขฐานข้อมูลที่จำเป็นสำหรับการสร้าง timestamp
IDE ที่แนะนำ: Jupyter Notebook
ก่อนเริ่มบทช่วยสอนนี้ เราต้องติดตั้ง pandas และ numpy library สำหรับ Jupyter notebook เป็นที่ดีที่สุดสำหรับการทดสอบและรันโค้ดของคุณ สำหรับการติดตั้ง pandas เราต้องรันคำสั่งต่อไปนี้
>>> pip install pandas
ถ้าเรารันคำสั่งนี้ dependencies ทั้งหมดจะถูกติดตั้งอัตโนมัติ หลังจากเสร็จแล้ว เราต้อง restart kernel เพื่อดูการเปลี่ยนแปลง
หลังจากติดตั้ง dependencies ทั้งหมดแล้ว เราสามารถ import pandas เป็น 'p' ได้
ที่นี่เราเรียก DataFrame constructor และเริ่มต้นฐานข้อมูลด้วย period 4 และ frequency 2 ชั่วโมง จาก date argument ด้วยการระบุ key 'time' เรากำลังแสดงฐานข้อมูล
>>> pip install pandas
>>> import pandas as p
>>> data_struct = p.DataFrame()
>>> data_struct['time'] = p.date_range('14/7/2019', periods=4, freq='3H')
>>> print(data_struct['time'])
0 2019-07-14 00:00:00
1 2019-07-14 03:00:00
2 2019-07-14 06:00:00
3 2019-07-14 09:00:00
Name: time, dtype: datetime64[ns]
ด้วยการใช้ <data_struct>.dt.<feature name> ฟีเจอร์ถูกแยกออกมา โดยใช้เมธอด head() เราแสดงแถวทั้งหมดจากฐานข้อมูล
>>> data_struct['year'] = data_struct['time'].dt.year
>>> data_struct.head(4)
time year
0 2019-07-14 00:00:00 2019
1 2019-07-14 03:00:00 2019
2 2019-07-14 06:00:00 2019
3 2019-07-14 09:00:00 2019
ที่นี่เรานำฟังก์ชัน .array() ที่อยู่ในโมดูล numpy มาใช้สร้าง time strings สตริงเหล่านี้ถูกแปลงเป็น DateTime โดยใช้เมธอด .to_datetime() ใน pandas library
>>> import numpy as n
>>> dt_timestring = n.array(['14-07-2019 07:26 AM', '13-07-2019 11:01 PM'])
>>> timestamps = [p.to_datetime(date, format="%d-%m-%Y %I:%M %p", errors="coerce") for date in dt_timestring]
>>> print(timestamps)
[Timestamp('2019-07-14 07:26:00'), Timestamp('2019-07-13 23:01:00')]
ที่นี่เรากำลังจัดทำดัชนีฐานข้อมูลด้วยวันที่ หมายถึงฟิลด์ 'date' จะถูกแสดงก่อนโดยใช้เมธอด .set_index()
>>> data_struct1 = p.DataFrame()
>>> data_struct1['date'] = p.date_range('18/07/2019', periods=5, freq='2H')
>>> data_struct1 = data_struct1.set_index(data_struct1['date'])
>>> print(data_struct1.head(5))
date
date
2019-07-18 00:00:00 2019-07-18 00:00:00
2019-07-18 02:00:00 2019-07-18 02:00:00
2019-07-18 04:00:00 2019-07-18 04:00:00
2019-07-18 06:00:00 2019-07-18 06:00:00
2019-07-18 08:00:00 2019-07-18 08:00:00
ถ้าเราต้องการแสดงเฉพาะ dataset เฉพาะจากฐานข้อมูล เราสามารถนำคำสั่งไปใช้งานได้ตามที่อภิปรายด้านล่าง -
>>> data_struct2 = p.DataFrame()
>>> data_struct2['date'] = p.date_range('17/07/2019', periods=3, freq='4H')
>>> print(data_struct2.head(5))
date
0 2019-07-17 00:00:00
1 2019-07-17 04:00:00
2 2019-07-17 08:00:00
>>> inp = data_struct2[(data_struct2['date'] > '2019-07-17 04:00:00')]
>>> print(inp)
date
2 2019-07-17 08:00:00
สรุป
ในบทความนี้ เราได้เรียนรู้วิธีที่เราสามารถแพ็คและแตกทูเพิลได้ในหลากหลายวิธี