Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เวลาในการประมวลผลกับ Pandas DataFrame


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการสร้างและประมวลผลการประทับเวลาต่างๆ โดยใช้ไลบรารีแพนด้าในตัว เรายังใช้โมดูล numpy เพื่อสร้างและแก้ไขฐานข้อมูลที่จำเป็นสำหรับการสร้างการประทับเวลา

IDE ที่ต้องการ:โน้ตบุ๊ก Jupyter

ก่อนเริ่มบทช่วยสอนนี้ เราต้องติดตั้งแพนด้าและไลบรารี่จำนวนมาก สำหรับโน้ตบุ๊ก jupyter นี้เป็นสถานที่ที่ดีที่สุดในการทดสอบและรันโค้ดของคุณ สำหรับการติดตั้งแพนด้า เราต้องรันคำสั่งต่อไปนี้

>>> pip install pandas

หากเราเรียกใช้คำสั่งนี้ การอ้างอิงทั้งหมดจะถูกติดตั้งโดยอัตโนมัติ หลังจากเสร็จสิ้น เราต้องรีสตาร์ทเคอร์เนลเพื่อดูการเปลี่ยนแปลง

หลังจากที่เราติดตั้งการพึ่งพาทั้งหมดเสร็จแล้ว เราก็สามารถนำเข้าแพนด้าเป็น 'p' ได้

ที่นี่เราเรียกตัวสร้างเฟรมข้อมูลและเริ่มต้นฐานข้อมูลด้วยช่วงเวลา 4 และความถี่ 2 ชั่วโมงจากอาร์กิวเมนต์วันที่ โดยการระบุคีย์ 'เวลา' เรากำลังแสดงฐานข้อมูล

>>> 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]

โดยใช้ .dt.features จะถูกดึงออกมา โดยใช้วิธี head() เราจะแสดงแถวทั้งหมดจากฐานข้อมูล

>>> data_struct['year'] = data_struct['time'].dt.year
>>> data_struct.head(4)
   time
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 เพื่อสร้างสตริงเวลา สตริงเหล่านี้จะถูกแปลงเป็น DateTime โดยใช้เมธอด .to_datetime() ในไลบรารีแพนด้า

>>> 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')]

ที่นี่เรากำลังสร้างดัชนีฐานข้อมูลด้วยวันที่ที่หมายถึงฟิลด์ 'วันที่' จะแสดงก่อนโดยใช้วิธี .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

หากเราต้องการแสดงเฉพาะชุดข้อมูลจากฐานข้อมูล เราก็สามารถใช้คำสั่งตามที่อธิบายด้านล่าง -

>>> 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

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีบรรจุและแกะ tuples ด้วยวิธีต่างๆ มากมาย