1. Learn
  2. /
  3. คอร์ส
  4. /
  5. การรวมข้อมูลด้วย pandas

Connected

แบบฝึกหัด

การใช้ .melt() เพื่อเปรียบเทียบประสิทธิภาพของหุ้นและพันธบัตร

เป็นที่รู้กันดีว่าราคาพันธบัตรมีความสัมพันธ์แบบผกผันกับราคาหุ้น ในแบบฝึกหัดสุดท้ายนี้ เราจะทบทวนหัวข้อต่าง ๆ ในบทนี้เพื่อยืนยันความสัมพันธ์ดังกล่าว โดยมีตารางแสดงเปอร์เซ็นต์การเปลี่ยนแปลงของราคาพันธบัตรรัฐบาลสหรัฐอายุ 10 ปีในรูปแบบ wide format ซึ่งแต่ละปีมีคอลัมน์แยกต่างหาก จึงต้องใช้เมธอด .melt() เพื่อปรับรูปร่างตารางนี้

นอกจากนี้ จะใช้เมธอด .query() เพื่อกรองข้อมูลที่ไม่จำเป็นออก แล้วรวมตารางนี้กับตารางเปอร์เซ็นต์การเปลี่ยนแปลงของดัชนีหุ้น Dow Jones Industrial จากนั้นจึงพล็อตข้อมูล

ตาราง ten_yr และ dji ถูกโหลดไว้ให้แล้ว

คำแนะนำ

100 XP
  • ใช้ .melt() กับ ten_yr เพื่อ unpivot ทุกคอลัมน์ยกเว้นคอลัมน์ metric โดยตั้งค่า var_name='date' และ value_name='close' แล้วบันทึกผลลัพธ์ไว้ในตัวแปร bond_perc
  • ใช้เมธอด .query() เลือกเฉพาะแถวที่ metric มีค่าเป็น close แล้วบันทึกไว้ในตัวแปร bond_perc_close
  • ใช้ merge_ordered() เพื่อรวม dji (ตารางซ้าย) กับ bond_perc_close โดยใช้คอลัมน์ date แบบ inner join และกำหนด suffixes เป็น ('_dow', '_bond') แล้วบันทึกผลลัพธ์ไว้ในตัวแปร dow_bond
  • ใช้ dow_bond พล็อตเฉพาะค่าของ Dow และพันธบัตร