Pandas: วิธีเลือกแถว dataframe ตามเวลาประทับ
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเลือกแถวระหว่างการประทับเวลาสองครั้งใน DataFrame ของแพนด้า:
df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')]
ไวยากรณ์นี้จะถือว่า tstamp มีประเภทวันที่และเวลาอยู่แล้ว
ถ้าไม่ คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแปลงเป็นคอลัมน์ datetime:
df[' tstamp '] = pd. to_datetime (df[' tstamp '])
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: เลือกแถว Pandas DataFrame ตามเวลาประทับ
สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับการขายที่ร้านค้าปลีก:
import pandas as pd #createDataFrame df = pd. DataFrame ({' tstamp ': ['2022-10-25 04:00:00', '2022-10-25 11:55:12', '2022-10-26 02:00:00', '2022-10-27 10:30:00', '2022-10-27 14:25:00', '2022-10-28 01:15:27'], ' sales ': [18, 22, 19, 14, 14, 11]}) #view DataFrame print (df) tstamp sales 0 2022-10-25 04:00:00 18 1 2022-10-25 11:55:12 22 2 2022-10-26 02:00:00 19 3 2022-10-27 10:30:00 14 4 2022-10-27 14:25:00 14 5 2022-10-28 01:15:27 11
สมมติว่าเราต้องการเลือกเฉพาะแถวระหว่างการประทับเวลาสองรายการต่อไปนี้:
- 25-10-2565 04:30:00 น
- 27-10-2565 11:00:00 น
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:
#convert timestamp column to datetime dtype df[' tstamp '] = pd. to_datetime (df[' tstamp ']) #select rows between two timestamps df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')] tstamp sales 1 2022-10-25 11:55:12 22 2 2022-10-26 02:00:00 19 3 2022-10-27 10:30:00 14
โปรดทราบว่ามีการเลือกเฉพาะบรรทัดระหว่างการประทับเวลาสองรายการที่เราระบุเท่านั้น
โปรดทราบว่าคุณสามารถเลือกแถวตามเวลาประทับได้โดยใช้เฉพาะค่าวันที่เท่านั้น
ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อเลือกแถวทั้งหมดที่มีการประทับเวลามากกว่า 2022-10-27:
#convert timestamp column to datetime dtype df[' tstamp '] = pd. to_datetime (df[' tstamp ']) #select rows with timestamp after 2022-10-27 df[df[' tstamp '] > ' 2022-10-27 '] tstamp sales 3 2022-10-27 10:30:00 14 4 2022-10-27 14:25:00 14 5 2022-10-28 01:15:27 11
โปรดทราบว่าจะเลือกเฉพาะแถวที่มีค่าในคอลัมน์ tsamp หลังวันที่ 10-2022-2022 เท่านั้น
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
วิธีแปลง DateTime เป็นวันที่ใน Pandas
วิธีแปลงคอลัมน์เป็น DateTime ใน Pandas
วิธีจัดเรียง Pandas DataFrame ตามวันที่