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

Connected

แบบฝึกหัด

ใช้ merge_asof() วิเคราะห์ราคาหุ้น

สมมติว่าคุณมีข้อมูลราคาหุ้นที่บันทึกทุก 5 นาที แต่เนื่องจากความล่าช้าของเครือข่าย เวลาที่บันทึกจริงจึงไม่ตรงเป๊ะทุกครั้ง คุณดึงข้อมูลราคาหุ้นของธนาคาร 3 แห่ง ได้แก่ JP Morgan (JPM), Wells Fargo (WFC) และ Bank Of America (BAC) โดยต้องการเปรียบเทียบการเปลี่ยนแปลงราคาของอีกสองธนาคารกับ JP Morgan จึงต้องรวม log ทั้ง 3 ไฟล์เข้าด้วยกันเป็นตารางเดียว จากนั้นใช้เมธอด .diff() ของ pandas เพื่อคำนวณการเปลี่ยนแปลงราคาตามเวลา แล้วพล็อตกราฟเพื่อตรวจสอบผลการวิเคราะห์

ไฟล์ log ทั้งสามถูกโหลดมาให้แล้วในชื่อตาราง jpm, wells และ bac

คำแนะนำ

100 XP
  • ใช้ merge_asof() รวม jpm (ตารางซ้าย) กับ wells บนคอลัมน์ date_time โดยจับคู่แถวที่มีเวลาใกล้เคียงที่สุด และกำหนด suffixes=('', '_wells') แล้วบันทึกผลลัพธ์ไว้ในตัวแปร jpm_wells
  • ใช้ merge_asof() รวม jpm_wells (ตารางซ้าย) กับ bac บนคอลัมน์ date_time โดยจับคู่แถวที่มีเวลาใกล้เคียงที่สุด และกำหนด suffixes=('_jpm', '_bac') แล้วบันทึกผลลัพธ์ไว้ในตัวแปร jpm_wells_bac
  • พล็อตราคาปิดของ close_jpm, close_wells และ close_bac จาก price_diffs