Python for Data Analysis ฉบับที่ 3: พื้นฐาน pandas ก่อนเริ่มงานข้อมูลการเงิน
หนังสือของ Wes McKinney ผู้สร้าง pandas ฉบับที่ 3 ว่าด้วยการจัดการ ทำความสะอาด และสรุปข้อมูลด้วย Python บทความนี้สรุปจากคำนำ บทที่ 1 และบทที่ 11 Time Series ในฉบับเปิดอ่านออนไลน์ที่ผู้เขียนเผยแพร่เอง

ขอบเขตของบทความ: อ่านบางบทจากฉบับเปิดอ่านออนไลน์ (Open Access) ที่ผู้เขียนเผยแพร่เอง ได้แก่ คำนำ บทที่ 1 Preliminaries และบทที่ 11 Time Series รวมกับสารบัญและ README ของ repository ประกอบหนังสือ ยังไม่ได้อ่านบทอื่น และไม่ได้รันโค้ดตัวอย่าง
คนที่อยากเริ่มทำ backtest หรือวิเคราะห์ข้อมูลตลาดด้วย Python มักรีบไปที่กลยุทธ์หรือ model แล้วพบว่าเวลาส่วนใหญ่หมดไปกับการโหลดไฟล์ จัดการวันที่ เติมค่าที่หาย แปลงข้อมูลรายนาทีเป็นรายวัน และรวมตารางหลายชุดเข้าด้วยกัน งานเหล่านี้ไม่ใช่เรื่องรอง ถ้าทำพลาด ผลลัพธ์ทั้งหมดที่ตามมาก็ผิด
Python for Data Analysis เขียนเพื่องานส่วนนี้โดยตรง บทความนี้ดูว่าฉบับที่ 3 ครอบคลุมอะไร บทที่เกี่ยวกับข้อมูล time series สอนอะไร และเหมาะกับใคร
หนังสือเล่มนี้ว่าด้วยอะไร
Python for Data Analysis ฉบับที่ 3 เขียนโดย Wes McKinney ปกในโฟลเดอร์เป็นฉบับของ O'Reilly ที่มีชื่อรอง Data Wrangling with pandas, NumPy & Jupyter ระเบียนของ Open Library ระบุ ISBN 9781098104009 ว่าเป็นของ O'Reilly Media ปี 2022 ความยาว 582 หน้า
ผู้เขียนเผยแพร่ฉบับที่ 3 เป็นเว็บไซต์ให้อ่านฟรี (Python for Data Analysis, 3E) และระบุว่าปรับเนื้อหาให้ตรงกับ pandas 2.0.0 และ Python 3.10 แล้ว เนื้อหาข้อความห้ามคัดลอกหรือทำซ้ำ ส่วนโค้ดตัวอย่างใช้สัญญาอนุญาต MIT
คำนำบอกว่าฉบับนี้ปรับให้ตรงกับ Python, NumPy และ pandas รุ่นปัจจุบัน และตั้งใจหลีกเลี่ยงโปรเจกต์ใหม่ที่อาจล้าสมัยภายในหนึ่งถึงสองปี ฉบับที่ 2 ปี 2017 ใช้ Python 3.6 และฉบับแรกปี 2012 ใช้ Python 2.7 (คำนำ)
เนื้อหาครอบคลุมหัวข้ออะไร
บทที่ 1 บอกชัดว่าหนังสือว่าด้วยกลไกการจัดการ ทำความสะอาด ประมวลผล และสรุปข้อมูลด้วย Python ไม่ได้สอนระเบียบวิธีวิเคราะห์ข้อมูลหรือ statistics และเน้นข้อมูลแบบมีโครงสร้าง เช่น ตาราง อาร์เรย์หลายมิติ ตารางหลายชุดที่เชื่อมด้วยคีย์ และ time series (บทที่ 1, หัวข้อ 1.1)
สารบัญบนเว็บไซต์มี 13 บทและภาคผนวกสองภาค:
บท | หัวข้อตามสารบัญ |
|---|---|
1–3 | Preliminaries, Python Language Basics, IPython, and Jupyter Notebooks, Built-In Data Structures, Functions, and Files |
4 | NumPy Basics: Arrays and Vectorized Computation |
5–8 | Getting Started with pandas, Data Loading, Storage, and File Formats, Data Cleaning and Preparation, Data Wrangling: Join, Combine, and Reshape |
9–10 | Plotting and Visualization, Data Aggregation and Group Operations |
11 | Time Series |
12–13 | Introduction to Modeling Libraries in Python, Data Analysis Examples |
ภาคผนวก | A Advanced NumPy, B More on the IPython System |
แนวคิดที่น่าสนใจจากบทที่อ่าน
บทที่ 1: ทำไม Python และเมื่อไรไม่ควรใช้
ผู้เขียนอธิบายว่า pandas เริ่มต้นในปี 2008 ที่ AQR Capital Management และชื่อมาจากคำว่า panel data
บทนี้แนะนำไลบรารีหลัก ได้แก่ NumPy, pandas, matplotlib, IPython และ Jupyter, SciPy, scikit-learn และ statsmodels พร้อมชี้ความต่างว่า statsmodels เน้น statistical inference ส่วน scikit-learn เน้นการพยากรณ์
ในหัวข้อ "Why Not Python?" ผู้เขียนยอมรับข้อจำกัดว่า Python ช้ากว่าภาษาคอมไพล์ และ global interpreter lock (GIL) ทำให้งาน multithreading ที่ใช้ CPU หนักทำได้ยาก ซึ่งมีผลกับระบบที่ไวต่อความหน่วงอย่าง high-frequency trading
การติดตั้งที่แนะนำคือ Miniconda กับ conda-forge และสร้าง environment
python=3.10ผู้ที่ใช้ Python เป็นแล้วอ่านบทที่ 2 และ 3 ผ่าน ๆ ได้
บทที่ 11: Time Series
บทนี้ตรงกับงานข้อมูลตลาดมากที่สุด (บทที่ 11) หัวข้อเรียงจากชนิดข้อมูลวันที่ การเลือกข้อมูลตามช่วงเวลา ความถี่และ date offsets การเลื่อนข้อมูล time zone, periods, resampling ไปจนถึง moving window functions
การเลื่อนข้อมูล ใช้
shiftและคำนวณผลตอบแทนรายช่วงด้วยรูปts / ts.shift(1) - 1resampling ใช้
resampleคล้ายgroupbyแต่จัดกลุ่มตามช่วงเวลา มีทั้ง downsampling, upsampling ด้วยffillและการสรุปเป็น open-high-low-close ด้วยohlcmoving windows ใช้
rolling,expandingและewmพร้อม rolling correlation ระหว่างสองอนุกรมข้อมูลตัวอย่าง ใช้ไฟล์
examples/stock_px.csvที่มีราคา AAPL, MSFT, XOM และ SPX สำหรับ moving average, volatility และ correlation กับ S&P 500
พื้นฐานที่ควรมีก่อนอ่าน
ผู้เขียนแนะนำให้ผู้เริ่มต้นอ่านบทที่ 2 และ 3 ซึ่งปูพื้นภาษา Python ก่อน จึงไม่จำเป็นต้องเขียน Python เป็นมาก่อน แต่ควรคุ้นกับแนวคิดการเขียนโปรแกรมบ้าง หนังสือไม่ได้สอน statistics ผู้ที่ต้องการวิเคราะห์เชิงสถิติจึงต้องหาตำรา statistics เพิ่ม
เหมาะกับใคร และใครควรเริ่มจากเล่มอื่นก่อน
เหมาะ กับคนที่จะทำงานข้อมูลการเงินด้วย Python และต้องการพื้นฐาน pandas ที่แน่น ก่อนไปเรื่อง backtest หรือ machine learning
เหมาะ กับคนที่ใช้ pandas อยู่แล้วแบบค้นทีละคำสั่ง และอยากเห็นภาพรวมที่เป็นระบบจากผู้สร้างไลบรารีเอง
ควรเลือกเล่มอื่น ถ้าต้องการเรียน statistical methods การสร้างกลยุทธ์ หรือ machine learning เชิงลึก เพราะบทที่ 1 ระบุว่าหนังสือไม่ได้มุ่งสอนเรื่องเหล่านี้
ข้อจำกัดของข้อมูลที่ใช้ในบทความนี้
อ่านเฉพาะคำนำ บทที่ 1 และบทที่ 11 จากฉบับออนไลน์ บทอื่นสรุปจากชื่อบทเท่านั้น
ฉบับออนไลน์อัปเดตหลังพิมพ์ เช่น ปรับเป็น pandas 2.0.0 ในเดือนเมษายน 2023 รายละเอียดบางจุดจึงอาจต่างจากฉบับพิมพ์ปี 2022
ไม่ได้รันโค้ดหรือ notebook ใน repository ประกอบหนังสือ ซึ่งมี notebook บทที่ 2–13 ชุดข้อมูล และ branch แยกของฉบับก่อนหน้า
หน้าหนังสือของ O'Reilly ปฏิเสธการเข้าถึง จึงใช้ข้อมูลฉบับจาก Open Library แทน
แหล่งอ้างอิง
Python for Data Analysis, 3E · Wes McKinney · หน้าแรก สารบัญ และเงื่อนไขการใช้ของฉบับออนไลน์
Preface · Wes McKinney · คำนำฉบับที่ 3
1 Preliminaries · Wes McKinney · บทที่ 1 ทั้งบท
11 Time Series · Wes McKinney · บทที่ 11
wesm/pydata-book · GitHub · README ของ repository ประกอบหนังสือ
Open Library: 9781098104009 · Internet Archive · ข้อมูลฉบับ ปี และจำนวนหน้า
หนังสือที่กล่าวถึงในบทความนี้

Python for Data Analysis
Wes McKinney
บทที่ 11 Time Series ใช้ข้อมูลราคาหุ้นสอน resample, rolling, ewm และ rolling correlation ซึ่งเป็นงานพื้นฐานของการวิเคราะห์ข้อมูลตลาด
บทความนี้อ่านจบได้ในตัวเอง หนังสือด้านบนคือจุดต่อยอดสำหรับผู้ที่ต้องการศึกษาลึกขึ้น
อ่านต่อ
25 ตุลาคม 2569
The StatQuest Illustrated Guide to Machine Learning: ML ฉบับภาพประกอบสำหรับผู้เริ่มต้นหนังสือภาพประกอบของ Josh Starmer ผู้ทำช่อง StatQuest ไล่จาก regression ถึง neural network บทความนี้แนะนำขอบเขตเนื้อหาจากหน้าร้านของผู้เขียนและข้อมูลแคตตาล็อก เพื่อช่วยดูว่าเหมาะเป็นเล่มแรกด้าน ML ของคุณหรือไม่
25 ตุลาคม 2569
Hands-On AI Trading with Python, QuantConnect, and AWS: มีอะไรในเล่ม และเหมาะกับใครหนังสือ Wiley ปี 2025 ของ Jiri Pik, Ernest P. Chan, Jared Broad, Philip Sun และ Vivek Singh ที่รวมตัวอย่างกลยุทธ์ ML และ LLM บน QuantConnect บทความนี้สรุปจากสารบัญและบทที่ 1 ที่สำนักพิมพ์เผยแพร่
25 ตุลาคม 2569
Data-Driven Science and Engineering ฉบับที่ 2: ขอบเขตเนื้อหาและพื้นฐานที่ต้องมีตำราของ Steven L. Brunton และ J. Nathan Kutz ว่าด้วย Machine Learning, dynamical systems และการควบคุม บทความนี้สรุปจากสารบัญและคำนำที่ Cambridge University Press เผยแพร่ เพื่อช่วยดูว่าเล่มนี้ครอบคลุมอะไรและต้องมีพื้นฐานระดับไหน
