ไวยากรณ์:
เราสามารถคำนวณค่าเฉลี่ยเคลื่อนที่ได้หลายวิธีดังนี้
วิธีที่ 1:
นัมปี้. cumsum ( )ส่งกลับผลรวมขององค์ประกอบในอาร์เรย์ที่กำหนด เราสามารถคำนวณค่าเฉลี่ยเคลื่อนที่ได้โดยการหารผลลัพธ์ของ cumsum() ด้วยขนาดของอาร์เรย์
วิธีที่ 2:
นัมปี้. และ . เฉลี่ย ( )มีพารามิเตอร์ดังต่อไปนี้
a: ข้อมูลในรูปแบบอาร์เรย์ที่จะนำมาเฉลี่ย
axis: ชนิดข้อมูลเป็น int และเป็นพารามิเตอร์ทางเลือก
น้ำหนัก: เป็นอาร์เรย์และพารามิเตอร์เสริม สามารถมีรูปร่างเดียวกับรูปร่าง 1-D ในกรณีของมิติหนึ่ง ต้องมีความยาวเท่ากับอาร์เรย์ 'a'
โปรดทราบว่าดูเหมือนว่าจะไม่มีฟังก์ชันมาตรฐานใน NumPy ในการคำนวณค่าเฉลี่ยเคลื่อนที่ ดังนั้นสามารถทำได้ด้วยวิธีอื่น
วิธีที่ 3:
อีกวิธีหนึ่งที่สามารถใช้ในการคำนวณค่าเฉลี่ยเคลื่อนที่ได้คือ:
เช่น. convolve ( เอ , ใน , โหมด = 'เต็ม' )ในไวยากรณ์นี้ a คือมิติข้อมูลป้อนเข้าแรก และ v คือค่ามิติข้อมูลป้อนเข้าที่สอง โหมดเป็นค่าทางเลือก เต็ม เหมือนเดิม และใช้ได้
ตัวอย่าง # 01:
ตอนนี้ เพื่ออธิบายเพิ่มเติมเกี่ยวกับเส้นค่าเฉลี่ยเคลื่อนที่ใน Numpy ให้เรายกตัวอย่าง ในตัวอย่างนี้ เราจะนำค่าเฉลี่ยเคลื่อนที่ของอาร์เรย์ที่มีฟังก์ชัน convolve ของ NumPy ออกมา ดังนั้นเราจะนำอาร์เรย์ 'a' ที่มี 1,2,3,4,5 เป็นองค์ประกอบ ตอนนี้ เราจะเรียกใช้ฟังก์ชัน np.convolve และเก็บเอาต์พุตไว้ในตัวแปร 'b' หลังจากนั้นเราจะพิมพ์ค่าตัวแปร b ของเรา ฟังก์ชันนี้จะคำนวณผลรวมเคลื่อนที่ของอาร์เรย์อินพุตของเรา เราจะพิมพ์ผลลัพธ์เพื่อดูว่าผลลัพธ์ของเราถูกต้องหรือไม่
หลังจากนั้น เราจะแปลงผลลัพธ์ของเราเป็นค่าเฉลี่ยเคลื่อนที่โดยใช้วิธี convolve เดียวกัน ในการคำนวณค่าเฉลี่ยเคลื่อนที่ เราจะต้องหารผลรวมเคลื่อนที่ด้วยจำนวนตัวอย่าง แต่ปัญหาหลักที่นี่คือ เนื่องจากเป็นค่าเฉลี่ยเคลื่อนที่ จำนวนตัวอย่างจะเปลี่ยนแปลงไปเรื่อยๆ ขึ้นอยู่กับตำแหน่งที่เราอยู่ ดังนั้น เพื่อแก้ไขปัญหานั้น เราจะสร้างรายชื่อตัวส่วนและเราจำเป็นต้องเปลี่ยนให้เป็นค่าเฉลี่ย
เพื่อจุดประสงค์นั้น เราได้เริ่มต้นตัวแปร 'ค่าดี' อื่นสำหรับตัวส่วน เป็นเรื่องง่ายสำหรับความเข้าใจรายการโดยใช้เคล็ดลับช่วง อาร์เรย์ของเรามีองค์ประกอบที่แตกต่างกันห้ารายการ ดังนั้นจำนวนตัวอย่างในแต่ละที่จะเพิ่มขึ้นจากหนึ่งเป็นห้าแล้วลดจากห้าเป็นหนึ่ง ดังนั้น เราจะเพิ่มสองรายการเข้าด้วยกัน และเราจะจัดเก็บไว้ในพารามิเตอร์ 'denom' ตอนนี้เราจะพิมพ์ตัวแปรนี้เพื่อตรวจสอบว่าระบบได้ให้ตัวหารจริงหรือไม่ หลังจากนั้น เราจะหารผลรวมเคลื่อนที่ของเรากับตัวส่วน และพิมพ์โดยเก็บผลลัพธ์ไว้ในตัวแปร 'c' ให้เรารันโค้ดของเราเพื่อตรวจสอบผลลัพธ์
นำเข้า งี่เง่า เช่น เช่น.เอ = [ 1 , สอง , 3 , 4 , 5 ]
ข = เช่น. convolve ( เอ , เช่น. ones_like ( เอ ) )
พิมพ์ ( 'ผลรวมเคลื่อนที่' , ข )
ชื่อ = รายการ ( แนว ( 1 , 5 ) ) + รายการ ( แนว ( 5 , 0 , - 1 ) )
พิมพ์ ( 'ตัวหาร' , ชื่อ )
ค = เช่น. convolve ( เอ , เช่น. ones_like ( เอ ) ) / ชื่อ
พิมพ์ ( 'ค่าเฉลี่ยเคลื่อนที่' , ค )
หลังจากรันโค้ดของเราสำเร็จแล้ว เราจะได้ผลลัพธ์ดังต่อไปนี้ ในบรรทัดแรก เราได้พิมพ์ “ผลรวม” เราจะเห็นได้ว่าเรามี '1' ที่จุดเริ่มต้นและ '5' ที่ส่วนท้ายของอาร์เรย์ เช่นเดียวกับที่เรามีในอาร์เรย์ดั้งเดิมของเรา ตัวเลขที่เหลือเป็นผลรวมขององค์ประกอบต่างๆ ของอาร์เรย์ของเรา
ตัวอย่างเช่น หกในดัชนีที่สามของอาร์เรย์มาจากการเพิ่ม 1,2 และ 3 จากอาร์เรย์อินพุตของเรา สิบในดัชนีที่สี่มาจาก 1,2,3 และ 4 สิบห้ามาจากการรวมตัวเลขทั้งหมดเข้าด้วยกันเป็นต้น ตอนนี้ ในบรรทัดที่สองของผลลัพธ์ เราได้พิมพ์ตัวส่วนของอาร์เรย์ของเรา
จากผลลัพธ์ของเรา เราจะเห็นได้ว่าตัวส่วนทั้งหมดนั้นแน่นอน ซึ่งหมายความว่าเราสามารถหารพวกมันด้วยอาร์เรย์ผลรวมเคลื่อนที่ของเรา ตอนนี้ ย้ายไปยังบรรทัดสุดท้ายของผลลัพธ์ ในบรรทัดสุดท้าย เราจะเห็นว่าองค์ประกอบแรกของอาร์เรย์ค่าเฉลี่ยเคลื่อนที่ของเราคือ 1 ค่าเฉลี่ยของ 1 คือ 1 ดังนั้นองค์ประกอบแรกของเราจึงถูกต้อง ค่าเฉลี่ยของ 1+2/2 จะเป็น 1.5 เราจะเห็นว่าองค์ประกอบที่สองของอาร์เรย์เอาต์พุตของเราคือ 1.5 ดังนั้นค่าเฉลี่ยที่สองก็ถูกต้องเช่นกัน ค่าเฉลี่ยของ 1,2,3 จะเป็น 6/3=2 ยังทำให้ผลงานของเราถูกต้องอีกด้วย จากผลลัพธ์ เราสามารถพูดได้ว่าเราคำนวณค่าเฉลี่ยเคลื่อนที่ของอาร์เรย์สำเร็จแล้ว
บทสรุป
ในคู่มือนี้ เราได้เรียนรู้เกี่ยวกับเส้นค่าเฉลี่ยเคลื่อนที่: ค่าเฉลี่ยเคลื่อนที่คืออะไร มีประโยชน์อย่างไร และวิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ เราศึกษารายละเอียดจากมุมมองทางคณิตศาสตร์และการเขียนโปรแกรม ใน NumPy ไม่มีฟังก์ชันหรือกระบวนการเฉพาะในการคำนวณค่าเฉลี่ยเคลื่อนที่ แต่มีฟังก์ชันอื่นๆ อีกหลายอย่าง ซึ่งเราสามารถคำนวณค่าเฉลี่ยเคลื่อนที่ได้ เราทำตัวอย่างเพื่อคำนวณค่าเฉลี่ยเคลื่อนที่และอธิบายทุกขั้นตอนของตัวอย่างของเรา ค่าเฉลี่ยเคลื่อนที่เป็นแนวทางที่มีประโยชน์ในการคาดการณ์ผลลัพธ์ในอนาคตโดยใช้ข้อมูลที่มีอยู่