ภาพรวม
ใช้เมธอด last() ของ DataFrame ที่มี DatetimeIndex เพื่อดึงข้อมูลช่วงสุดท้ายตาม offset (เช่น '4D' = 4 วันสุดท้าย)
ตัวอย่างโค้ด
import pandas as pd
i = pd.date_range('2021-07-15', periods=5, freq='3D')
# 2021-07-15, 2021-07-18, 2021-07-21, 2021-07-24, 2021-07-27
dataFrame = pd.DataFrame({'k': [1, 2, 3, 4, 5]}, index=i)
print("DataFrame...\n", dataFrame)
# ดึง 4 วันสุดท้าย
print("Last few rows fetched..\n", dataFrame.last('4D'))
ผลลัพธ์
DataFrame...
k
2021-07-15 1
2021-07-18 2
2021-07-21 3
2021-07-24 4
2021-07-27 5
Last few rows fetched..
k
2021-07-24 4
2021-07-27 5
คำอธิบาย
- Index ต้องเป็น DatetimeIndex
last('4D')= ข้อมูล 4 วันสุดท้าย (นับจากวันสุดท้ายย้อนกลับ)- วันสุดท้ายคือ 2021-07-27 ย้อน 4 วัน = 2021-07-24 ถึง 2021-07-27
- ได้ rows ของ 24 และ 27 กรกฎาคม
ร่วมกับ first()
df.first('1W') # สัปดาห์แรก
df.last('1M') # เดือนสุดท้าย
df.first('10D') # 10 วันแรก
df.last('2H') # 2 ชั่วโมงสุดท้าย
Truncate Alternative
สำหรับการ slice แบบระบุชัดเจน:
df.truncate(before='2021-07-20', after='2021-07-25')
# หรือ slice โดยตรง
df['2021-07-20':'2021-07-25']