การ Slice ข้อมูลอนุกรมเวลา
การ Slice มีประโยชน์มากกับข้อมูลอนุกรมเวลา เนื่องจากการกรองข้อมูลตามช่วงวันที่เป็นสิ่งที่ทำบ่อย ให้เพิ่มคอลัมน์ date เป็น index แล้วใช้ .loc[] ในการกรองข้อมูล สิ่งสำคัญที่ต้องจำคือต้องใช้รูปแบบวันที่ ISO 8601 ได้แก่ "yyyy-mm-dd" สำหรับปี-เดือน-วัน, "yyyy-mm" สำหรับปี-เดือน และ "yyyy" สำหรับปี
จากที่เรียนในบทที่ 1 คุณสามารถรวมเงื่อนไข Boolean หลายข้อเข้าด้วยกันโดยใช้ตัวดำเนินการตรรกะ เช่น & โดยในโค้ดบรรทัดเดียว ต้องเพิ่มวงเล็บ () รอบแต่ละเงื่อนไข
pandas ถูกโหลดเป็น pd และ temperatures ซึ่งยังไม่มี index พร้อมให้ใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลด้วย pandas
คำแนะนำการฝึกหัด
- ใช้เงื่อนไข Boolean โดยไม่ใช้
.isin()หรือ.loc[]และระบุวันที่แบบเต็ม"yyyy-mm-dd"เพื่อกรองข้อมูลในtemperaturesสำหรับแถวที่คอลัมน์dateอยู่ในปี 2010 และ 2011 จากนั้นแสดงผลลัพธ์ - กำหนด index ของ
temperaturesให้เป็นคอลัมน์dateและเรียงลำดับ - ใช้
.loc[]กรองข้อมูลในtemperatures_indสำหรับแถวในปี 2010 และ 2011 - ใช้
.loc[]กรองข้อมูลในtemperatures_indสำหรับแถวตั้งแต่ August 2010 ถึง February 2011
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use Boolean conditions to subset temperatures for rows in 2010 and 2011
temperatures_bool = ____[(____ >= ____) & (____ <= ____)]
print(temperatures_bool)
# Set date as the index and sort the index
temperatures_ind = temperatures.____.____
# Use .loc[] to subset temperatures_ind for rows in 2010 and 2011
print(____)
# Use .loc[] to subset temperatures_ind for rows from Aug 2010 to Feb 2011
print(____)