Numpy Array ใน Python [ทุกสิ่งที่ควรรู้]

เผยแพร่แล้ว: 2021-10-21

Python มีไลบรารี่จำนวนมาก ที่ใช้สำหรับงานต่างๆ ตามงานที่จะทำ ไลบรารีจะถูกจัดกลุ่มตามนั้น Python เป็นภาษาการเขียนโปรแกรมที่ยอดเยี่ยมซึ่งมีสภาพแวดล้อมที่ดีที่สุดสำหรับการคำนวณทางวิทยาศาสตร์และคณิตศาสตร์ต่างๆ หนึ่งในไลบรารีดังกล่าวคือ Numpy ซึ่งเป็นไลบรารียอดนิยมของ Python เป็นไลบรารีโอเพนซอร์ซใน Python ที่ใช้สำหรับการคำนวณในด้านวิศวกรรมและวิทยาศาสตร์

บทความนี้จะเน้นไปที่ไลบรารี Numpy พร้อมกับ อาร์เรย์ Numpy ใน Python

สารบัญ

ห้องสมุด Numpy ใน Python

ข้อมูลตัวเลขเป็นส่วนสำคัญของส่วนต่างๆ ของการวิจัยและพัฒนา เป็นข้อมูลที่เก็บข้อมูลจำนวนมากมาย การทำงานกับข้อมูลถือเป็นหัวใจสำคัญของการศึกษาทางวิทยาศาสตร์ทั้งหมด ไลบรารี่เป็นหนึ่งในไลบรารี่ที่ดีที่สุดของ Python สำหรับการทำงานกับข้อมูลตัวเลขดังกล่าว ผู้ใช้อาร์เรย์ Numpy อาจเป็นผู้เขียนโค้ดที่ยังไม่มีประสบการณ์ หรืออาจเป็นนักวิจัยที่มีประสบการณ์ซึ่งมีส่วนร่วมในการวิจัยทางอุตสาหกรรมหรือการวิจัยทางวิทยาศาสตร์ที่ล้ำสมัย ไม่ว่าจะเป็นผู้เริ่มต้นหรือผู้ใช้ที่มีประสบการณ์ ไลบรารี Numpy สามารถใช้ได้กับเกือบทุกคนที่ทำงานในด้านข้อมูล API ของ Numpy สามารถใช้ได้ใน SciPy, Pandas, sci-kit-learn, scikit-image, Matplotlib และแพ็คเกจอื่น ๆ อีกมากมายที่พัฒนาขึ้นสำหรับใช้กับแพ็คเกจวิทยาศาสตร์และวิทยาศาสตร์ข้อมูล

ไลบรารีของ Numpy ใน Python ประกอบด้วยอาร์เรย์หลายมิติและโครงสร้างข้อมูลเมทริกซ์ ห้องสมุดจัดเตรียม ndarray ซึ่งเป็นวัตถุอาร์เรย์ที่เป็นเนื้อเดียวกัน อาร์เรย์ Numpy ใน Python อยู่ในรูปของมิติ n ไลบรารียังมีวิธีการต่างๆ ที่สามารถใช้สำหรับดำเนินการผ่านอาร์เรย์ได้ ไลบรารีนี้ยังสามารถใช้สำหรับการดำเนินการทางคณิตศาสตร์หลายอย่างบนอาร์เรย์ สามารถเพิ่มโครงสร้างข้อมูลลงใน Python ได้ ซึ่งจะนำไปสู่การคำนวณอย่างมีประสิทธิภาพของเมทริกซ์และอาร์เรย์ต่างๆ ห้องสมุดยังมีฟังก์ชันทางคณิตศาสตร์หลายอย่างที่สามารถใช้สำหรับการทำงานกับเมทริกซ์และอาร์เรย์

การติดตั้งและนำเข้าห้องสมุด

สำหรับการติดตั้ง Numpy ใน Python ควรใช้ Python การกระจายแหล่งกำเนิดทางวิทยาศาสตร์ หากระบบมี Python ติดตั้งอยู่แล้ว ไลบรารีสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้

Conda ติดตั้ง Numpy หรือคำสั่งอื่นที่ pip ติดตั้ง Numpy สามารถใช้ได้

หากยังไม่ได้ติดตั้ง Python ในระบบ คุณสามารถใช้ Anaconda ได้ ซึ่งเป็นหนึ่งในวิธีที่ง่ายที่สุดในการติดตั้ง การติดตั้ง Anaconda ไม่จำเป็นต้องติดตั้งไลบรารี่หรือแพ็คเกจอื่นแยกต่างหาก เช่น SciPy, Numpy, Scikit-learn, pandas เป็นต้น

ไลบรารี Numpy สามารถนำเข้าใน Python ผ่านคำสั่งนำเข้า Numpy เป็น np

ไลบรารีมีหลายวิธีในการสร้างอาร์เรย์ใน Python อย่างรวดเร็วและมีประสิทธิภาพ นอกจากนี้ยังมีวิธีการแก้ไขอาร์เรย์หรือข้อมูลภายในอาร์เรย์ที่สามารถจัดการได้ ความแตกต่างระหว่าง list กับ Numpy array คือข้อมูลภายในรายการ Python สามารถเป็นประเภทข้อมูลที่แตกต่างกัน ในขณะที่ในกรณีของ Numpy array ใน Python องค์ประกอบภายในอาร์เรย์ควรเป็นเนื้อเดียวกัน อิลิเมนต์เป็นประเภทข้อมูลเดียวกันภายในอาร์เรย์ Numpy หากองค์ประกอบในอาร์เรย์ Numpy มีประเภทข้อมูลต่างกัน ฟังก์ชันทางคณิตศาสตร์ที่สามารถใช้ได้บนอาร์เรย์ Numpy จะไม่มีประสิทธิภาพ

การเปรียบเทียบอาร์เรย์ Numpy กับรายการ แสดงให้เห็นว่าเนื่องจากอาร์เรย์ Numpy เร็วและมีขนาดกะทัดรัด จึงมีการใช้อาร์เรย์ Numpy บ่อยครั้ง นอกจากนี้ เนื่องจากอาร์เรย์ใช้หน่วยความจำน้อยกว่า อาร์เรย์ Numpy จึงสะดวกต่อการใช้งานมากขึ้น สามารถระบุชนิดข้อมูลขององค์ประกอบภายในอาร์เรย์ได้ เนื่องจากอาร์เรย์ใช้หน่วยความจำน้อยกว่า ดังนั้นจึงมีกลไกสำหรับข้อมูลจำเพาะ โค้ดของโปรแกรมจึงสามารถเพิ่มประสิทธิภาพได้

รับ ปริญญาวิศวกรรมซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

Numpy Array ใน Python

อาร์เรย์ Numpy เป็นโครงสร้างข้อมูลแบบรวมศูนย์ภายในไลบรารี Numpy เมื่อมีการกำหนดอาร์เรย์ จะประกอบด้วยอาร์เรย์ที่จัดเรียงในลักษณะกริด ซึ่งมีข้อมูลสำหรับข้อมูลดิบ นอกจากนี้ยังมีข้อมูลว่าองค์ประกอบสามารถอยู่ในอาร์เรย์ได้อย่างไรหรือองค์ประกอบสามารถตีความในอาร์เรย์ได้อย่างไร อาร์เรย์ Numpy ประกอบด้วยองค์ประกอบในกริดที่สามารถจัดทำดัชนีได้หลายวิธี องค์ประกอบภายในอาร์เรย์เป็นประเภทข้อมูลเดียวกัน ดังนั้นจึงเรียกว่าอาร์เรย์ dtype

  • การทำดัชนีของอาร์เรย์ทำได้โดยใช้ทูเพิลของจำนวนเต็มที่ไม่ติดลบ นอกจากนี้ยังสามารถจัดทำดัชนีผ่านจำนวนเต็ม หรือบูลีน หรืออาร์เรย์อื่นๆ
  • ลำดับของอาร์เรย์ถูกกำหนดเป็นจำนวนมิติของอาร์เรย์
  • รูปร่างของอาร์เรย์ถูกกำหนดให้เป็นชุดของจำนวนเต็มที่กำหนดขนาดอาร์เรย์ตามมิติต่างๆ
  • การเริ่มต้นอาร์เรย์สามารถทำได้ผ่านรายการ Python โดยใช้รายการที่ซ้อนกันสำหรับข้อมูลมิติสูง
  • องค์ประกอบภายในอาร์เรย์สามารถเข้าถึงได้ผ่านวงเล็บเหลี่ยม การสร้างดัชนีของอาร์เรย์ Numpy จะเริ่มต้นด้วย 0 เสมอ ดังนั้นในขณะที่เข้าถึงองค์ประกอบ องค์ประกอบแรกของอาร์เรย์จะอยู่ที่ตำแหน่ง 0 ตัวอย่าง: b[0] จะคืนค่าองค์ประกอบแรกในอาร์เรย์ b

การทำงานพื้นฐานบน Numpy array

  • ฟังก์ชัน np.array() ใช้สำหรับสร้างอาร์เรย์ Numpy ใน Python ผู้ใช้ต้องสร้างอาร์เรย์แล้วต้องส่งผ่านไปยังรายการ ผู้ใช้ยังสามารถระบุชนิดข้อมูลในรายการได้อีกด้วย
  • ฟังก์ชัน np.sort() สามารถใช้สำหรับการเรียงลำดับอาร์เรย์ Numpy ใน Python ผู้ใช้สามารถระบุชนิด แกน และยังสั่งได้เมื่อเรียกใช้ฟังก์ชัน
  • ในการรับข้อมูลเกี่ยวกับขนาดของอาร์เรย์หรือหมายเลขแกน ผู้ใช้สามารถใช้ ndarray.nim นอกจากนี้ การใช้ ndarray.size จะแจ้งให้ผู้ใช้ทราบเกี่ยวกับองค์ประกอบทั้งหมดที่มีอยู่ในอาร์เรย์
  • คำสั่งต่อไปนี้สามารถใช้เพื่อทราบรูปร่างและขนาดของอาร์เรย์ Numpy: ndarray.nim, ndarray.shape และ ndarray.size เพื่อให้ได้แนวคิดเกี่ยวกับขนาดของอาร์เรย์หรือจำนวนแกนของอาร์เรย์ จะใช้คำสั่ง ndarray.nim ในการรับรายละเอียดของจำนวนองค์ประกอบทั้งหมดที่มีอยู่ในอาร์เรย์ จะใช้คำสั่ง ndarray.size คำสั่ง ndarray.shape จะส่งคืนชุดของจำนวนเต็มที่ระบุหมายเลของค์ประกอบที่จัดเก็บตามมิติต่างๆ ในอาร์เรย์
  • อาร์เรย์ Numpy สามารถจัดทำดัชนีและแบ่งส่วนในลักษณะที่คล้ายกับรายการใน Python
  • สามารถเพิ่มอาร์เรย์สองอาร์เรย์เข้าด้วยกันโดยใช้สัญลักษณ์ "+" นอกจากนี้ยังสามารถใช้ฟังก์ชัน sum() เพื่อส่งคืนผลรวมขององค์ประกอบทั้งหมดที่จัดเก็บไว้ในอาร์เรย์ ฟังก์ชันนี้สามารถใช้ในอาร์เรย์ขนาด 1 หรือ 2 มิติและขนาดสูงได้
  • ด้วยแนวคิดของการออกอากาศในอาร์เรย์ Numpy การดำเนินการสามารถทำได้ผ่านอาร์เรย์ที่มีรูปร่างต่างกัน อย่างไรก็ตาม มิติข้อมูลอาร์เรย์ควรเข้ากันได้ มิฉะนั้น โปรแกรมจะส่งผลให้เกิด ValueError
  • นอกเหนือจากฟังก์ชันของ sum() อาร์เรย์ Numpy ยังมีฟังก์ชันของค่าเฉลี่ยสำหรับการหาค่าเฉลี่ยขององค์ประกอบ ฟังก์ชัน prod เพื่อให้ได้ผลคูณขององค์ประกอบของอาร์เรย์ และฟังก์ชัน std เพื่อให้ได้ค่าเบี่ยงเบนมาตรฐาน ขององค์ประกอบของความผิดพลาด
  • ผู้ใช้สามารถส่งรายการไปยังอาร์เรย์ Numpy สามารถส่งผ่านรายการเพื่อสร้างอาร์เรย์ 2 มิติได้

อาร์เรย์สามารถเปลี่ยนรูปแบบได้หรือไม่?

ได้ อาร์เรย์สามารถเปลี่ยนรูปแบบได้โดยใช้ฟังก์ชัน arr.reshape() สิ่งนี้จะเปลี่ยนรูปร่างอาร์เรย์โดยไม่ต้องทำการแก้ไขใดๆ กับข้อมูลอาร์เรย์

เป็นไปได้ไหมที่จะแปลงอาร์เรย์เป็นมิติต่างๆ

ได้ อาร์เรย์สามารถแปลงจากมิติเดียวเป็นรูปแบบสองมิติได้ คำสั่ง np.expand_dims และ np.newaxis สามารถใช้เพื่อเพิ่มขนาดของอาร์เรย์ได้ อาร์เรย์จะเพิ่มขึ้นหนึ่งมิติโดยใช้ np.newaxis หากจะแทรกแกนใหม่ที่ตำแหน่งเฉพาะในอาร์เรย์ สามารถทำได้โดยใช้ np.expand_dims

จะสร้างอาร์เรย์จากข้อมูลที่มีอยู่แล้วได้อย่างไร?

สามารถสร้างอาร์เรย์ได้โดยการระบุตำแหน่งที่ควรทำการแบ่งส่วน นอกจากนี้ สองอาร์เรย์สามารถซ้อนกันในแนวตั้งได้โดยใช้คำหลัก vstack และสามารถซ้อนกันในแนวนอนโดยใช้คำหลัก hstack สำหรับการแยกอาร์เรย์ สามารถใช้ hsplit ได้ ซึ่งจะส่งผลให้อาร์เรย์มีขนาดเล็กลงหลายชุด

จะจัดเรียงองค์ประกอบภายในอาร์เรย์ได้อย่างไร?

ฟังก์ชัน sort() ใช้สำหรับจัดเรียงองค์ประกอบในอาร์เรย์

ควรใช้ฟังก์ชันใดในการค้นหาองค์ประกอบเฉพาะในอาร์เรย์

คำสั่ง np.unique สามารถใช้เพื่อค้นหาองค์ประกอบที่ไม่ซ้ำในอาร์เรย์ Numpy นอกจากนี้ ในการส่งคืนดัชนีขององค์ประกอบเฉพาะของ eth ผู้ใช้สามารถส่งอาร์กิวเมนต์ของ return_index ไปยังฟังก์ชัน np.unique()

อาร์เรย์สามารถย้อนกลับได้อย่างไร?

ฟังก์ชัน np.flip() สามารถใช้ในอาร์เรย์ Numpy เพื่อย้อนกลับได้ สามารถดำเนินการได้หลายอย่างบนอาร์เรย์เมื่อสร้างและกำหนดขึ้นแล้ว ไลบรารีของ Python เช่น Numpy มีฟังก์ชันและวิธีการทั้งหมดที่จำเป็นสำหรับการสร้างอาร์เรย์ และดำเนินการคำนวณทางคณิตศาสตร์ทั้งหมดเกี่ยวกับองค์ประกอบของอาร์เรย์ มีห้องสมุดหลายแห่งที่นำเสนอโดย Python หากคุณมีความสนใจในการสำรวจห้องสมุดทั้งหมดและทำความเข้าใจเกี่ยวกับหน้าที่ต่างๆ คุณสามารถดูหลักสูตร “Executive Program in Data Science” ที่นำเสนอโดย upGrad หลักสูตรนี้ออกแบบมาสำหรับมืออาชีพที่ทำงานและจะฝึกอบรมคุณผ่านผู้เชี่ยวชาญในอุตสาหกรรม สำหรับข้อสงสัยใด ๆ คุณสามารถติดต่อทีมช่วยเหลือของเรา