การเลือกข้อมูลจากช่วงวันที่
การดึงข้อมูลตามเงื่อนไขที่กำหนดเป็นหนึ่งในการดำเนินการที่ทรงพลังและใช้บ่อยที่สุดใน DataFrame ลองฝึกกับข้อมูลหุ้น Alphabet กันเลย โดยมี DataFrame ชื่อ alphabet และ datetime สองตัวคือ start_date กับ end_date ให้พร้อมแล้ว ส่วน head ของ DataFrame มีลักษณะดังนี้:
| date | close | volume | open | high | low |
|---|---|---|---|---|---|
| 2019-08-02 | 1196.32 | 1745450 | 1203.00 | 1209.500 | 1190.00 |
| 2019-08-01 | 1211.78 | 1771271 | 1217.63 | 1236.298 | 1207.00 |
| 2019-07-31 | 1218.20 | 1997999 | 1224.87 | 1234.910 | 1208.18 |
| 2019-07-30 | 1228.00 | 1430775 | 1227.00 | 1236.910 | 1225.32 |
| 2019-07-29 | 1241.84 | 2069127 | 1242.50 | 1248.995 | 1230.20 |
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python ระดับกลางสำหรับการเงิน
คำแนะนำการฝึกหัด
- สร้าง mask จากวันที่ย้อนหลังในช่วงวันที่ที่กำหนด
- นำ mask ไปใช้เลือกแถวจาก DataFrame
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the mask for one week
mask = (alphabet['date'] ____ start_date) & (alphabet['____'] <= end_date)
# Use the mask to get the data for one week
df = alphabet[____]
# Look at result
print(df)