ใช้ merge_asof() เพื่อสร้างชุดข้อมูล
ฟังก์ชัน merge_asof() ช่วยสร้างชุดข้อมูลในกรณีที่มีตารางวันที่เริ่มต้นและสิ้นสุด แล้วต้องการนำมาสร้างแฟล็กในอีกตารางหนึ่ง ในแบบฝึกหัดนี้ได้เตรียมข้อมูล gdp ซึ่งเป็นตารางค่า GDP รายไตรมาสของสหรัฐอเมริกาช่วงทศวรรษ 1980 ไว้ให้แล้ว นอกจากนี้ยังมีตาราง recession ที่บันทึกวันที่เริ่มต้นและวันที่สิ้นสุดของภาวะเศรษฐกิจถดถอยแต่ละครั้งในสหรัฐฯ ตั้งแต่ปี 1980 ให้ใช้ merge_asof() เพื่อรวมตารางทั้งสองเข้าด้วยกัน และสร้างแฟล็กสถานะเพื่อระบุว่าแต่ละไตรมาสอยู่ในช่วงเศรษฐกิจถดถอยหรือไม่ จากนั้นพล็อตกราฟแท่งเพื่อตรวจสอบผลลัพธ์
ตาราง gdp และ recession ได้โหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การรวมข้อมูลด้วย pandas
คำแนะนำการฝึกหัด
- ใช้
merge_asof()รวมgdpและrecessionโดยอิงคอลัมน์dateกำหนดให้gdpเป็นตารางซ้าย แล้วบันทึกผลลัพธ์ลงในตัวแปรgdp_recession - สร้าง
listชื่อis_recessionโดยใช้ list comprehension และ conditional expression โดยให้ตรวจสอบแต่ละแถวว่าค่าในgdp_recession['econ_status']เท่ากับ'recession'หรือไม่ ถ้าใช่ให้ใส่'r'ถ้าไม่ใช่ให้ใส่'g' - ใช้
gdp_recessionพล็อตกราฟแท่งของgdpเทียบกับdateโดยกำหนดอาร์กิวเมนต์colorเป็นis_recession
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Merge gdp and recession on date using merge_asof()
gdp_recession = ____
# Create a list based on the row value of gdp_recession['econ_status']
is_recession = ['____' if s=='recession' else '____' for s in gdp_recession['econ_status']]
# Plot a bar chart of gdp_recession
gdp_recession.plot(kind=____, y=____, x=____, color=____, rot=90)
plt.show()