0Pricing
Learn AI with Python · บทเรียน

อนุกรมเวลาใน Pandas

DatetimeIndex, resample(), rolling(), shift(), การสร้างช่วงวันที่ และการสุ่มตัวอย่างใหม่

อนุกรมเวลาใน Pandas เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

เวลาใน pandas

pandas รองรับวันเวลาอย่างครบถ้วน การแปลงสตริงเป็นการประทับเวลาและการจัดทำดัชนีตามเวลาช่วยให้ใช้การสุ่มตัวอย่างใหม่ หน้าต่างแบบเลื่อน และคุณลักษณะค่าหน่วงได้

การแยกวิเคราะห์ด้วย to_datetime

pd.to_datetime แปลงสตริงหรือตัวเลขให้เป็นออบเจ็กต์ Timestamp ที่ถูกต้อง โดยอนุมานรูปแบบที่พบบ่อยส่วนใหญ่ให้โดยอัตโนมัติ

import pandas as pd
d = pd.to_datetime(["2026-01-01", "2026-01-05", "2026-02-10"])
print(d)
print(d.dtype)   # datetime64[ns]

การสร้างวันที่ด้วย date_range

pd.date_range สร้างลำดับการประทับเวลาที่เว้นระยะเท่า ๆ กัน โค้ด freq ควบคุมช่วงก้าว: D คือวัน H คือชั่วโมง M คือสิ้นเดือน และอื่น ๆ

rng = pd.date_range("2026-01-01", periods=5, freq="D")
print(rng)
# 2026-01-01 ... 2026-01-05

การสร้าง DatetimeIndex

การตั้งคอลัมน์วันเวลาให้เป็นดัชนีจะสร้าง DatetimeIndex ซึ่งช่วยให้แบ่งเลือกข้อมูลตามเวลาและใช้เครื่องมือ resample/rolling ได้

ts = pd.Series([10, 12, 9, 15, 11],
               index=pd.date_range("2026-01-01", periods=5, freq="D"))
print(ts)

การแบ่งเลือกด้วยสตริงบางส่วน

เมื่อมี DatetimeIndex คุณสามารถแบ่งเลือกข้อมูลด้วยวันที่บางส่วนได้ โดยสตริงที่ระบุปีหรือเดือนจะเลือกแถวทั้งหมดที่ตรงกัน

monthly = pd.Series(range(60),
    index=pd.date_range("2026-01-01", periods=60, freq="D"))
print(monthly["2026-02"].head())   # all of February

การลดความถี่ด้วย resample

resample คือ groupby สำหรับเวลา ให้ลดตัวอย่างเป็นความถี่ที่หยาบขึ้นแล้วจึงรวมค่า เช่น เปลี่ยนข้อมูลรายวันให้เป็นผลรวมรายสัปดาห์

weekly = monthly.resample("W").sum()
print(weekly.head())

การเพิ่มความถี่และการเติมค่า

การสุ่มตัวอย่างใหม่ให้มีความถี่ FINER จะสร้างช่องว่างขึ้นมา ใช้ร่วมกับ .ffill() เพื่อส่งต่อค่าล่าสุดไปข้างหน้า

hourly = ts.resample("12H").ffill()
print(hourly.head())

หน้าต่างแบบเลื่อน

rolling(window) คำนวณค่าสถิติบนหน้าต่างที่เลื่อนไปตามข้อมูล ซึ่งเป็นพื้นฐานของค่าเฉลี่ยเคลื่อนที่ที่ช่วยลดความผันผวนของอนุกรมข้อมูล

roll = monthly.rolling(window=7).mean()
print(roll.head(10))   # first 6 are NaN (not enough history)

รูปแบบของหน้าต่างแบบเลื่อน

การลดรูปแบบใด ๆ ก็ใช้กับหน้าต่างแบบเลื่อนได้ เช่น mean, sum, std, min, max ค่า std แบบเลื่อน 7 วันใช้วัดความผันผวนในช่วงที่ผ่านมา

vol = monthly.rolling(7).std()
print(vol.tail())

การสร้างค่าหน่วงด้วย shift

shift(n) เลื่อนค่าไปข้างหน้าจำนวน n ช่วงเวลา ทำให้สร้างคุณลักษณะค่าหน่วงและคำนวณการเปลี่ยนแปลงระหว่างช่วงเวลาได้

df = pd.DataFrame({"sales": [100, 110, 105, 130]})
df["prev"] = df["sales"].shift(1)
df["pct_change"] = (df["sales"] - df["prev"]) / df["prev"]
print(df)

การแยกส่วนประกอบของวันที่

ตัวเข้าถึง .dt เปิดให้ใช้ส่วนประกอบต่าง ๆ เช่น year, month, dayofweek ซึ่งมีประโยชน์ในฐานะคุณลักษณะของแบบจำลอง

s = pd.Series(pd.date_range("2026-01-01", periods=3, freq="D"))
print(s.dt.dayofweek)   # 0=Monday
print(s.dt.month)

ตรวจสอบอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับอนุกรมเวลา

สรุปทบทวน

เครื่องมือสำหรับอนุกรมเวลา:

  • pd.to_datetime สำหรับแยกวิเคราะห์ และ pd.date_range สำหรับสร้างข้อมูล
  • DatetimeIndex ช่วยให้แบ่งเลือกข้อมูลด้วยสตริงบางส่วนได้
  • resample(freq).agg() สำหรับการเพิ่มหรือลดความถี่ของตัวอย่าง
  • rolling(window) สำหรับค่าสถิติแบบเคลื่อนที่
  • shift(n) สำหรับค่าหน่วง และ .dt สำหรับส่วนประกอบของวันที่

คำถามที่พบบ่อย

บทเรียน “อนุกรมเวลาใน Pandas” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “อนุกรมเวลาใน Pandas” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “อนุกรมเวลาใน Pandas”

DatetimeIndex, resample(), rolling(), shift(), การสร้างช่วงวันที่ และการสุ่มตัวอย่างใหม่ คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “อนุกรมเวลาใน Pandas” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. GroupBy และการรวมข้อมูล
  2. ตารางไพวอตและตารางแจกแจงไขว้
  3. การผสานและการเชื่อมข้อมูลขั้นสูง
  4. อนุกรมเวลาใน Pandas
← กลับไปที่ Learn AI with Python