NextGenAI-2024 | Numpy #1

NextGen AI Camp www.youtube.com

สรุปย่อ

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

  • NumPy คืออะไรและมีประโยชน์อย่างไร
  • การสร้าง NumPy array ในรูปแบบต่างๆ (1 มิติ, 2 มิติ, 3 มิติ)
  • ฟังก์ชันที่ใช้ในการสร้าง array เบื้องต้น เช่น zeros, ones, empty, full, arrange, linspace และ random
  • การปรับรูปร่างของ array ด้วย reshape, resize, ravel, flatten, view และ copy
  • การสลับแกนและย้ายตำแหน่งแกนของ array
  • การเพิ่มและลดมิติของ array

NumPy คืออะไร

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

ประโยชน์และการประยุกต์ใช้งานของ NumPy:

  • ความเร็ว: การคำนวณทางคณิตศาสตร์เร็วกว่าการใช้ List ธรรมดา
  • การจัดการหน่วยความจำ: ใช้หน่วยความจำแบบต่อเนื่อง ช่วยลดการใช้หน่วยความจำ
  • เครื่องมือที่ครอบคลุม: มีฟังก์ชันทางคณิตศาสตร์และสถิติที่ครอบคลุม
  • การดำเนินการหลายขั้นตอน: สามารถดำเนินการกับ array ทั้งชุดข้อมูลได้โดยไม่ต้องใช้ Loop
  • ใช้งานง่าย: Syntax ชัดเจนและโครงสร้างข้อมูลเป็นระเบียบ

การประยุกต์ใช้ NumPy:

  • การประมวลผลภาพและสัญญาณ: วิเคราะห์ภาพดิจิทัลหรือสัญญาณคลื่น เช่น การกรองสัญญาณ การบีบอัด การตรวจจับขอบ
  • การคำนวณทางวิทยาศาสตร์และวิศวกรรม: ใช้ในฟิสิกส์ เคมี ชีวะ และวิศวกรรม เช่น การวิเคราะห์ข้อมูลจากเซ็นเซอร์ การจำลองเชิงพลศาสตร์ การทำนายพยากรณ์
  • การวิเคราะห์ทางการเงิน: วิเคราะห์ข้อมูลทางการเงิน เช่น การวิเคราะห์หุ้น การจำลอง Monte Carlo การคำนวณความเสี่ยง
  • AI และ Machine Learning: เป็นรากฐานสำหรับโครงสร้างของ Machine Learning การประมวลผลข้อมูล การฝึกโมเดล

พื้นฐาน NumPy Array

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

เหตุผลที่ต้องใช้ array ในงาน AI และ Machine Learning:

  • รองรับการเก็บข้อมูลจำนวนมหาศาลและเข้าถึงได้อย่างรวดเร็ว
  • รองรับข้อมูลที่เป็นหลายมิติที่พบบ่อยในงาน AI เช่น รูปภาพ
  • เหมาะสำหรับการประมวลผลทางคณิตศาสตร์ด้วย Algorithm ของ Machine Learning เช่น Matrix multiplication
  • เป็นโครงสร้างข้อมูลพื้นฐานของ Library AI เช่น NumPy, TensorFlow

ตัวอย่างการใช้งาน: การแปลงรูปภาพเป็นตัวเลขและนำเข้าสู่ NumPy array เพื่อใช้ในการสอนโมเดล

ฟังก์ชันที่ใช้สร้าง Array เบื้องต้น

ฟังก์ชันที่ใช้ในการสร้าง array เบื้องต้น:

  • np.zeros: สร้าง array ที่มีทุกค่าเป็น 0 ตามขนาดที่กำหนด
  • np.ones: สร้าง array ที่มีทุกค่าเป็น 1 ตามขนาดที่กำหนด
  • np.empty: สร้าง array โดยไม่ได้กำหนดค่าเริ่มต้น แต่กำหนดแค่ขนาด (ค่าภายในจะเป็นค่าสุ่ม)
  • np.full: สร้าง array ตามขนาดที่ต้องการ โดยมีค่าที่ระบุเป็นค่าทั้งหมดใน array
  • np.arange: สร้าง array ที่มีขนาดตามช่วงข้อมูลที่กำหนด คล้ายกับฟังก์ชัน range ใน Python แต่คืนค่าเป็น array แทน
  • np.linspace: สร้าง array ที่ประกอบไปด้วยตัวเลขตามช่วงที่กำหนด โดยแบ่งช่วงให้เท่ากันตามจำนวนที่ต้องการ
  • np.random.rand: สุ่มค่าในช่วง 0-1 ตามขนาดที่กำหนด
  • np.random.randint: สุ่มค่าจำนวนเต็มตามช่วงและขนาดที่ระบุ

การปรับรูปร่าง Array

การปรับรูปร่างของ array ใน NumPy:

  • reshape: เปลี่ยน array ให้มีรูปร่างใหม่ตามที่กำหนด โดยไม่มีการเปลี่ยนแปลงข้อมูลใน array เดิม
  • resize: เปลี่ยน array ของต้นฉบับให้มีรูปร่างใหม่ตามที่กำหนด
  • ravel: แปลง array ให้กลายเป็น 1 มิติ โดยมีการจัดลำดับแบบ Row-Major Order (C-style) หรือ Column-Major Order (Fortran-style)
  • flatten: คล้ายกับ ravel แต่คืนค่าชุดข้อมูลใหม่ (copy) แทนที่จะเป็น View
  • view: สร้างมุมมองของ array โดยที่ array ใหม่จะใช้ข้อมูลเดียวกับ array ต้นฉบับ หากมีการแก้ไข array ใหม่ จะส่งผลถึง array ต้นฉบับด้วย
  • copy: สร้าง array ใหม่โดย copy ข้อมูลจาก array ต้นฉบับ array ใหม่จะไม่เกี่ยวข้องกับ array ต้นฉบับ

การสลับแกนและย้ายตำแหน่งแกน Array

  • transpose: สลับแกนของ array (สำหรับ array 2 มิติ จะเปลี่ยนจากแกนนอนเป็นแกนตั้ง)
  • moveaxis: ย้ายตำแหน่งแกนมิติจากตำแหน่งหนึ่งไปยังอีกตำแหน่งหนึ่ง โดยระบุตำแหน่งเริ่มต้นและตำแหน่งปลายทาง

การเพิ่มและลดมิติ Array

  • np.newaxis: เพิ่มมิติให้กับ array
  • np.expand_dims: เพิ่มมิติให้กับ array โดยระบุแกนที่ต้องการเพิ่ม
  • np.squeeze: ลดมิติของ array ที่มีขนาดเท่ากับ 1
Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:05 next gen AI [เพลง] Camp สวัสดีน้องๆททุกคนนะครับในคลิปนี้ นะครับเราจะมาเรียนพื้นฐานเกี่ยวกับนำพาย กันครับ ในส่วนของ Content ที่จะสอนนะครับก็จะมี ทั้งหมด 8 บทนั่นเองบทแรกเนี่ยจะเรียน เกี่ยวกับนำพายคืออะไรบทที่ 2 ก็จะเป็น พื้นฐานนำพายอรยครับบทที่ 3 จะเป็นการ เป็นฟังก์ชันที่ใช้สร้างอรยเบื้องต้นบท ที่ 4 ก็คือการปรับรูปร่างอรยบทที่ 5 จะ

0:52 เป็นการตัดดแบ่งและรวมอเลบทที่ 6 เป็นตัว ดำเนินการและฟังก์ชันเชิงคณิตศาสตร์ครับ บทที่ 7 ฟังก์ชันทางสถิติและบทที่ 8 ก็จะ เป็นการจัดการไฟล์ข้อมูลครับสำหรับพารนี้ นะครับพารแรกเนี่ยเราจะเรียนกันทั้งหมด 4 บทแรกนะครับก็คือบทที่ 1 ถึงบทที่ 4 โค เรามาเริ่มเรียนกันเลย ครับ numpy คืออะไร numpy หรือว่า numerical python เป็น Library ที่ใช้ สำหรับการคำนวณทางวิทยาศาสตร์และ คณิตศาสตร์สำหรับภาษา python โดยการทำงาน กับอเลหลายมิติที่มีประสิทธิภาพสูงลักษณะ เด่นของนำพายเนี่ยก็คือการประมวลผลข้อมูล

1:38 ที่มีความเร็วกว่าการใช้ฤทธิใน python ครับเนื่องจากนพายเนี่ยใช้ในการจัดเก็บ ข้อมูลในหน่วยความจำแบบต่อเนื่องและการ ดำเนินการทางคณิตศาสตร์เนี่ยที่ถูกปรับ แต่งมาอย่างดีก็คือในตัวนำพายายเนี่ยจะมี ฟังก์ชันเกี่ยวกับทางคณิตศาสตร์ซึ่ง ฟังก์ชันเหล่าเนี้ยถูกปรับแต่งมาให้มี ประสิทธิ์ภาพสูงแล้วก็มีความเร็วที่มาก ขึ้น ครับต่อมาเรามาดูประโยชน์และการประยุกต์ ใช้งานของนำพายกันครับประโยชน์ของนำพาย เนี่ยก็คือข้อแรกครับก็จะเป็นเรื่องความ เร็ว ครับก็คือการคำนวณทางคณิตศาสตร์ในนำพาย เนี่ยจะเร็วกว่าการใช้ฤทธิ์ธรรมดาใน python ครับต่อมาก็จะเป็นการจัดการหน่วย

2:26 ความจำครับนพายเนี่ยจะใช้หน่วยความจำแบบ ต่อเนื่องซึ่งอ่าจะช่วยลดการใช้หน่วยความ จำครับข้อ 3 ก็คือเป็นเครื่องมือที่ครอบ คลุมมากกว่าครับก็คือมีฟังก์ชันทาง คณิตศาสตร์และสถิติที่ครอบคลุมการใช้งาน และใช้งานง่ายครับอย่างที่ 4 ก็คือรวมการ ดำเนินการหลายขั้นตอนก็คือมีฟังก์ชันในน พายสามารถดำเนินการกับ array ทางชุดข้อ มูลโดยที่เราไม่ต้องใชู้ปครับ ข้อ 5 ก็เป็นการใช้งานง่ายครับแล้วก็อ่าน ผลลัพธ์ง่ายตัว syntax เนี่ยมี syntax ที่ชัดเจนแล้วก็โครงสร้างข้อมูลที่เป็น ระเบียบครับส่วนการประยุกต์ใช้ครับก็

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

3:58 วิเคราะห์ข้อมูลทางการเงินได้เช่นการ วิเคราะห์หุ้นการจำลอง multical แล้วก็ หรือว่าจะเป็นการคำนวณความเสี่ยงของหุ้น แต่ละตัวอะไรแบบนี้ก็ได้ครับต่อมาเก็จะ เป็นใช้ในอ่า AI ครับก็อย่างเช่น Machine Learning ก็คือมีการใช้นพายเนี่ยเป็นราก ฐานสำหรับโครงสร้างอ่าของตัว Machine Learning แล้วก็การประมวลผลข้อมูลการฝึก โมเดลต่างๆเนี่ยก็สามารถทำได้เช่นเดียว กัน ครับต่อมาครับก็จะเป็นการอ่าติดตั้งแล้ว ก็เรียกใช้นพาย ครับเราสามารถที่จะติดตั้งตัวนพายได้โดย การพิมพ์เครื่องหมายตกใจแล้วก็ปิบ Install

4:44 แล้วก็ตามด้วยนายครับแต่ในตัว Google colab มีติดตั้งนพายมาให้เรียบร้อยอยู่ แล้วครับซึ่งในขั้นตอนนี้ก็ไม่จำเป็นที่ จะต้องติดตั้งก็ได้ครับต่อมาเราจะมาลอง เรียกใช้นพายกันครับก็พิมพ์ได้โดยการ พิมพ์ Import nly as NP ครับตัว S NP เนี่ยเราอ่ามีการตั้งเป็นชื่อย่อครับ เพื่อง่ายต่อการเรียกใช้งาน ครับก็กดรันได้ เลยครับเรามาเข้าสู่อ่าหัวใจสำคัญของตัวน พายกันครับนั่นก็คือนพาย array นั่นเอง array เนี่ยคืออะไร array เนี่ยคือเป็น

5:31 โครงสร้างของข้อมูลชนิดหนึ่งที่ใช้เก็บ ค่าหลายๆค่าในตัวแปรเดียวกันโดยค่าต่างๆ ใน array จะถูกจับเก็บเป็นลำดับและมี ดัชนีหรือว่า index หรือมีตำแหน่งที่เจาะ จงการเข้าถึงข้อมูลใน array เนี่ยสามารถ ทำได้โดยระบุตำแหน่งหรือ index ของข้อมูล นั้นๆ array เนี่ยมีขนาที่คงที่และประเภท ของข้อมูลภายในต้องเป็นชนิดเดียวกันการ ใช้งานรทำทำให้การจัดการข้อมูลที่เป็น กลุ่มๆง่ายขึ้นและมีประสิทธิภาพมากขึ้น ครับแล้วทำไมเราถึงต้องมีการใช้ตัว array ในงานเกี่ยวกับทางด้าน AI หรือว่า Machine Learning เนื่องจากข้อ 1 รับรองการเก็บ

6:16 ข้อมูลจำนวนมหาศาลและเข้าถึงได้อย่างรวด เร็วข้อ 2 เนี่ยก็คือมีการรับรองข้อมูล ที่เป็นหลายมิติที่พบบ่อยในงาน AI อย่าง เช่นรูปภาพครับข้อ 3 เหมาะสำหรับการ ประมวลผลทางคณิตศาสตร์ด้วย alor ของ Machine Learning เช่นตัว Matrix multiplication ข้อ 4 เป็นโครงสร้างข้อ มูลพื้นฐานของ Library AI เช่นนาย Sensor fl ครับเป็นต้น ครับอย่างตัวอย่างรูปด้านล่างนี้ครับก็ คือรูปแรกเนี่ยเราจะเห็นว่าเรามีภาพภาพ นึงนะครับที่เป็นเหมือนจะเป็นแบบเป็นรูป คนยิ้มนะครับแต่ว่าอันนี้อาจจะเป็นพิกเซล แบบไม่ละเอียดมากเรามาแปลงเป็นตัวตัวเลข แล้วก็เอาเข้าเป็นนพาย array ครับจากนั้น

7:02 ก็เอาตัวนพาย array เนี่ยที่แปลงเป็นตัว เลขแล้วเ่อเอาไปเข้าตัวโมเดลหรือว่าเอาไป สอนโมเดลได้ครับรูปที่ 2 เนี่ยถ้าหากเรา อ่ามีรูปที่เป็นพิกเซลที่ละเอียดมากยิ่ง ขึ้นเวลาเราซูมดูครับเราจะเห็นเป็น meg พิกเซลครับซึ่งพิกเซลเหล่าเนี้ยเราก็เอา ไปแปลงเป็นตัวเลขแล้วก็เอาเข้าไปในตัวน พายอครับจากนั้นก็เอาเข้าในตัวโมเดลหรือ ว่าสอนโมเดลต่อๆไปครับผม ด้วยความที่ AR เนี่ยมันอ่าตัวนำพายอะไ เนี่ยมันรับรองตัว Big Data ได้หลายมิติ ความรวดเร็วในการประมวลผลและการใช้งานกับ Library ทั้งด้าน AI โดยตรงเนี่ยอะไ เนี่ยจึงเป็นโครงสร้างข้อมูลที่จำเป็นและ เหมาะมากที่สุดครับสำหรับในงานทางด้าน AI

7:50 ในปัจจุบันครับ ผมในส่วนถัดมาครับเราจะมาลองสร้างนพาย array ใน python กันครับซึ่งโดยปกติแล้ว เนี่ยเราจะรู้จักกับ array 3 ประเภทครับ ก็คืออรย 1 มิติอรย 2 มิติแล้วก็ array 3 มิติครับส่วน array 1 มิติเนี่ยก็จะเป็น เลขที่เรียงต่อกันครับเป็น ลำดับส่วนอ่าอรย 2 มิติเนี่ยเราจะเห็นได้ ว่าจะมีทั้งเลขในแนวแกนนอนแล้วก็แกนตั้ง ครับซึ่งถ้าหากเราได้เรียนอ่าคณิตศาสตร์ ระดับมัธยมปลายเนี่ยเราจะคุ้นๆกับอ่าบท เมทริกครับก็คล้ายๆกับตัวตัวเมทริกใน มัธยมปลายครับส่วน are 3 มิติครับเราก็ จะเห็นได้ว่ามันเป็นลักษณะ 3 มิติครับมี

8:37 ทั้งแกนตั้งแกนนอนแล้วก็แกนแนวลึกครับ ผมโคเราจะมาลองสร้างนพอะไใน python กัน ครับอย่างแรกเนี่ยเราก็ให้ Import อ่าตัว Library นายมาก่อน ครับจากนั้นเนี่ยเราก็สร้าง array ได้โดย การพิมพ์ว่า NP array จากนั้นก็ตามด้วยวงเล็บ ครับในตัววงเล็บเนี่ยเราจะใส่ตัวที่เป็น อ่าตัว bracket แลข้างในก็จะมีข้อมูลที่ เราต้องการใส่เข้าไปใน array ครับอันนี้ จะเป็นการสร้าง array 1 มิติครับพลองรัน ดูครับอ่าเราจะได้ผลรับออกมาว่ามันเป็น

9:25 array ของตัวเลข 1 2 3 4 5 ครับต่อ มาเรามาลองสร้างตัวร 2 มิติกันครับตัวร 2 มิติจะแตกต่างจากอร 1 มิติตรงที่เรามีการ ซ้อนตัวอ่า bracket เข้าไปใน bracket อีก ทีนึงครับก็เหมือนกับว่าคล้ายๆกับิซ้อนใน ลินั่น เองก็เราจะเห็นได้ว่าชั้นแรกเนี่ยก็จะ เป็นตัวสีชมพูครับเป็นแบคเกตสีชมพูแล้วก็ ชั้นที่ 2 ก็จะเป็นแคตสีน้ำเงินครับก็เรา จะเห็นได้ว่าเป็นเป็นแบบิซ้อนฤทครับลอง รันดูครับอ่าเราก็จะได้เป็นตัวผลลัพธ์ของ ตัวนำพายอรยที่เป็น 2 มิติ

10:11 ครับครับเรามาลองดูการสร้างอเร 3 มิติกัน บ้างครับตัวอเ 3 มิติเนี่ยก็จะมีความแตก ต่างอ่ามากกว่าตัวอเร 2 มิติแล้วก็มีความ ซับซ้อนมากกว่าครับซึ่งก็คือมีการซ้อนกัน ของิ์ถึง 3 ชั้นเลยซึ่งชั้นแรกเนี่ยก็คือ คือสีชมพูครับเป็นอาเรตัวเป็นของอาเล 1 มิติแล้วก็ตัวสีฟ้าครับเป็นส่วนของอเร 2 มิติแล้วก็สีเหลืองตรงนี้ครับก็จะเป็นของ ตัวอาเร 3 มิติครับสีฟ้า 1 ใน blacket ใน แบคเกตสีฟ้าเนี่ยเราจะมองเปรียบเสมือน เป็นตัวอเร 2 มิติแต่ว่าเรามีอเร 2 มิติ หลายชั้นซ้อนกันครับก็อย่างเช่นเรามองอเล

10:57 3มิติตัวนี้ครับเราเหมือนกับว่าเรามีอเร 2 มิติซ้อนกันหลายๆชั้นนั่นเองก็เป็นที่มา ของตัวร 3 มิติ ครับครับเรามาลองหารูปร่างของ array ด้วย do shap กันครับสำหรับ array 1 มิติก็ เราสามารถพิมพ์ได้โดยว่าตัวแปรเป็นชื่อ ตัวแปรครับแล้วก็ตามด้วย dot shap ลอง รันดูครับ ก็เราก็จะเห็นได้ว่าผลลัพธ์เนี่ยออกมา เป็น 5 ครับซึ่งก็ตรงกับอเรที่เราสร้าง ครับมีจำนวนสมาชิก 5 ตัวมาเราองมาลองดูอเร 2 มิติกันบ้าง

11:46 ครับอ่ะผลลัพธ์ที่ได้ออกมาเนี่ยเป็นอรย ที่มีขนาด 3 * 3 ครับซึ่งก็หมาย ถึงมีทั้งหมด 3 กครับนี้ 1 2 แล้วก็ 3 ครับแล้วก็มีทั้งหมด 3 คอลัมน์ 3 คอลัมน์ นี่ก็ คือตรงตรงนี้ 1 ครับแล้วก็ตรงนี้ 2 ก็ 3 ครับแล้วก็อร 3 มิติ ครับเราจะเห็นได้ว่าผลลัพธ์เนี่ยออกมา เป็นทั้งหมด 3 มิติครับก็คือมี 3 เลขก็ คือเป็นอที่มีขนาด 3 คู 2 * 2 นั่นเอง

12:33 ซึ่ง 3 ตัวแรกเนี่ยหมายถึงตัวจำนวนบล็อก ครับตัวที่ 2 หมายถึงจำนวน ow ครับแล้วก็ ตัวที่ 3 เนี่ยหมายถึงจำนวนคอลัมน์ครับ สำหรับ 3 ตัวนี้ครับเป็นจำนวนบล็อกก็หมาย ถึงว่าเรามีทั้งหมด 3 บล็อกครับก็คืออัน นี้ 1 บล็อกอันนี้ 2 บล็อกแล้วก็ตรงนี้ 3 บล็อกครับส่วน 2 ตรงกลางเนี่ยก็จะจะเป็น บอกจำนวนโลครับก็มีทั้งหมดอันนี้ 1 กแล้ว ก็อันนี้อีกลนึงครับ 2 กครับแล้วก็ตัวสุด ท้ายเนี่ยก็จะเป็นบอกจำนวนคอลัมน์ครับ ซึ่งจำนวนคอลัมน์เนี่ยก็คือข้างในครับก็ จะมี 1 แล้วก็ 2 ตัวนั่น

13:26 เองต่อมาเรามาหาจำนวนมิติด้วย End กัน ครับก็เหมือนเดิมครับเรามีสร้างยสำหรับย 1 มิติครับก็สร้างอ 1 มิติจากนั้นก็พิมพ์ ชื่อตัวแปรแล้วก็ do End ครับลองรันดู ครับอ่ะผลลัพธ์ที่ออกมาก็จะเป็นเลข 1 ก็ หมายถึง 1 มิตินั่นเองลอง 2 มิติกันดู บ้างครับอ่านี้ก็บอกว่าเป็น 2 มิติก็อันนี้สำหรับ 3 มิติครับก็จะผล ลัพธ์ก็จะออกมาเป็น 3 ครับก็หมายถึง 3 มิตินั่น เองในส่วนถัดมาเนี่ยเราจะมาเรียนชนิดของ ข้อมูลที่สามารถใช้ได้ใน array ครับหลักๆ

14:12 เนี่ยก็จะมีทั้งหมด 6 ตัวครับตัวแรกก็คือ ตัว integer ก็คือจำนวนเต็มครับก็จะมี 8 บิต 16 บิต 32 บิตแล้วก็ 64 บิตครับซึ่ง จำนวนบิตนี่เองเนี่ยเป็นเอ่อเป็นช่วงของ ตัวเลขที่สามารถที่จะเอามาใช้งานได้ครับ ต่อมาก็จะเป็นตัว unine integer ก็จะ เป็น อ่าที่ไม่ใช่ตัวจำนวนเต็มครับก็อย่างเช่น ตัวอักษรหรือว่า String เป็นต้นครับต่อมา เนี่ยก็จะเป็น f โก็คือ ทศนิยมต่อมาเป็น Complex ครับก็จะเป็น จำนวนเชิงซ้อนต่อมาเป็นบูนครับบูนเเป็น อ่าเกี่ยวกับทางตรรกศาสตร์ก็จะมี True

14:58 กับ F ต่อมาเป็น object ครับ object ก็ คือเป็นกลุ่มของ object อ่าของ python object นั่นเอง ครับต่อมาเรามาลองหาชนิดของข้อมูลกันครับ ด้วย doot D type หรือว่า D Data type นั่นเองก็สามารถทำได้โดยนี้ครับก็จะมีการ สร้างตัว array 1 มิติขึ้นมาจากนั้นเรา ก็เขียนตัวแปรครับแล้วก็ D D type จาก นั้นเรามาลองรันดูผลลัพธ์กัน ครับตัวผลลัพธ์เนี่ยก็จะให้ผลลัพธ์อมา เป็น D type แล้วก็เป็น f 64 ครับก็ หมายถึงเป็นทศนิยม 64 บิตนั่นเองหรือว่า เราสามารถที่จะกำหนดตัว Data type ได้

15:45 ครับโดยเราพิมพ์ D type เท่ากับอันนี้เราก็พิมพ์ชนิดของข้อ มูลที่เราต้องการครับนี้ผมต้องการให้มัน เป็นโส ครับ อ่าแล้วมา ลองดูผลลัพธ์กัน ครับอ่ะเราจะเห็นได้ว่าในชุดข้อมูลเนี่ย เป็นเลข 1 2 3 4 5 ซึ่งเป็น integer ครับแต่สเราสามารถที่จะกำหนดตัว Data type ของ array ของเราได้ครับอันนี้ผม กำหนดให้มันเป็นโฟดผลลัพธ์ที่ออกมาเนี่ย ก็จะเป็นโฟดตามที่เรากำหนดครับผมต่อมาเรา

16:31 มาลอง array 2 มิติ ครับอ่านี้ก็จะเป็นโครับอันนี้เป็นข้อมูล เนี่ยเป็น integer แต่ว่าผมกำหนดค่าให้ มันเป็น fce ครับต่อมาเป็น 3 มิติ ครับอ่านี้ก็จะเป็นตัว integer ครับ ผมครับเรามาลองดูกันเข้าถึง array ครับ ผ่านทางการระบุ index ครับผมโดย index เนี่ยก็จะมีทั้งหมด 2 แบบครับแบบแรกเนี่ย ก็คือเป็น Positive index ครับก็คือ index แบบเป็นค่าบวกครับโดยเริ่มจาก 0 1 2 3 ไปเรื่อยๆครับต่อมาเป็น Negative

17:16 index ครับก็คือเริ่มจาก -1 โดยนับจาก สมาชิกตัวสุดท้ายครับ -1 -2 -3 -4 ครับผมเรามาลองดูตัวอย่างข้างล่างครับก็ จะผมก็จะสร้างตัว array 1 มิติมาครับโดย มีสมาชิก 1 2 3 4 5 สมมุติว่าผม ต้องการที่จะใช้ index index ที่ 1 ครับ การระบุ index เนี่ยเราก็ทำได้โดยการ พิมพ์ชื่อตัวแปรครับแล้วก็ตามด้วยตัว bracket ข้างในตัว bracket เนี่ยก็จะ ระบุตัว index ครับผมอย่างในที่นี้นะผม ต้องการ index ที่ 1 ครับก็คือ index ที่ 1 เนี่ยก็ก็คืออันนี้เป็น index 0 ครับ แล้วก็ index 1 ก็จะได้เป็นค่า 2 ออกมา

18:04 นั่นเองลองรันดูผลลัพธ์ครับอ่ะก็เราก็จะ ได้เป็นค่า 2 ออกมา ครับสมมุติว่าผม ต้องการอ index ที่ -2 ก็คืออ่ะนับจากตรงนี้ครับตัวสุดท้าย ก็คือเป็น index -1 ก็ index -2 ครับก็ จะได้เป็นค่าเลข 4 ออกมานั่น เองเรามาลองดูการเข้าถึงตัว array 2 มิติกันบ้างครับก็ในตัวอย่างครับก็จะมี array 2 มิติครับตั้งแต่ 1-9 โดยผม ต้องการที่จะเข้าถึงอ่าเราสามารถเข้าถึง ได้โดยการพิมพ์ตัวตัวแปรครับแล้วก็ตาม ด้วย bracket ข้างใน bracket เนี่ยก็จะมี 2 อ่าเป็นพิตร 2 ตัวครับตัวแรกก็คือเป็น

18:52 index ของ Row ครับผมตัวที่ 2 ก็จะเป็น index ของคอลัมครับอย่างในตัวอย่างนี้ก็ จะเป็น Row index 0 แล้วก็คอลัม index 1 ครับเรามาลอง Row ครับก็คือ Row อัน นี้เป็น index 0 นี้ index 1 แล้วก็อัน นี้เป็น index 2 ครับอันนี้เราต้องการ index 0 ก็จะได้เป็นก้อนนี้ครับผมต่อมา ก็จะเป็นตัวคอลัม index 1 ครับอันนี้ เป็นคอลัม index 0 ในคอลัม index 1 ใน คอลัม index 2 ครับคอลัม index 1 ก็จะ ได้เป็นคอลัมนี้ครับเราก็จะได้เป็น ow นี้แล้วก็คอลัมน์นี้ครับก็จะได้เป็นค่า 2 มานั่น เองลองรันดูผลลัพธ์ครับอเราก็จะได้ 2 เรา

19:41 มาลองดูตัวอย่างอีกตัวอย่างนึงบ้างครับ อ่าอันนี้ก็เราต้องการตัว Row index 2 แล้วก็คอลัม index -2 ครับลองดูครับเรา เริ่มจาก Row ก่อนครับ low index 2 Row อันนี้ Row index 0 ครับอันนี้ Row index 1 อันนี้ Row index 2 ครับอ่ะ ก็แต่เราก็จะได้ Row นี้ครับต่อมาเรา ต้องการคอลัม index -2 ซึ่งตัวคอลัมน์เนี่ยอ่ะอันนี้เป็น คอลัมน์ index 0 1 2 แต่อันนี้มันติด ลบครับก็ต้องเริ่มจากตรงนี้เป็นคอลัมน์ -1 ก็อันนี้เป็นคอลัมน์ -2 ครับเราก็ได้เป็น

20:27 อันนี้แล้วก็ตัดกันที่เลข 8 ครับอันนี้ก็ จะได้เป็นค่า 8 ออกมานั่นเอง อต่อมาเรามาลองดูอรย 3 มิติกันบ้างครับก็ อันนี้ก็จะสร้างตัวอย่างอร 3 มิติครับตัว แรกเนี่ยหมายถึงตัวเอ่อตัวบล็อกครับหรือ ว่าความลึกนั่น เองตัวต่อมาก็จะเป็น index ของ Row แล้ว ก็ index ของคอลัมครับอย่าง index ของตัว บล็อกเนี่ยก็คืออันนี้ Block index 0 ครับก็จะอันนี้ครับเป็น Block index 0 Block index 1 แล้วก็อันนี้เป็นบล็อก index 2 ครับ index 0 เราก็จะได้เป็น ตัวบล็อกนี้ ครับหรือว่าเป็นชั้นนั่นเองครับเป็นชั้น

21:15 ที่ 0 ต่อมาตัวตรงกลางก็คือ Row index ที่ -1 ครับอ่าชั้นนี้นะครับก็ Row index ที่ -1 อันนี้เป็นอันนี้เป็น Row index 0 อัน นี้ Row index 1 ครับส่วน Row index -1 เราก็ได้เริ่มจากตัวสุดท้ายนับจากตัว สุดท้ายก่อนครับเราก็ได้เป็นตัว Row นี้ มา ครับจากนั้นตัวสุดท้ายตรงนี้ครับก็คือ คอลัมน์ที่ Index 1 ครับ อ่ะก็อันนี้เป็น คอลัมน์ index 0 อันนี้เป็นคอลัม index 1 ครับก็จะได้เป็นค่าเลข 4 มานั่นเอง ลองรันดูครับอ่ะเราจะได้ค่าเลข 4 ออกมา

22:03 ครับผมอ่ะเรามาลองดูอีกตัวอย่างนึงบ้าง ครับก็อันนี้ก็จะเป็นตัวตัวชั้นหรือว่า บล็อกครับเป็นบล็อก index ที่ -2 นี่แล้วก็เป็น Row index 0 คอลัม index 1 ครับเรามาเริ่มจากตัวบล็อกหรือ ว่าตัวชั้นกันก่อนครับก็คือบล็อก index ที่ -2 โดยอ่าอันนี้เป็นบ็อก index ส 0 1 2 ส่วนถ้าติดลบเนี่ยเราก็เริ่มจากตัว นับจากตัวสุดท้ายมาก่อนครับก็คือตัวนี้ ครับอันนี้เป็น Block index -1 อันนี้ เป็นบ็อก index -2 ครับก็จะได้เป็นตัว บล็อกหรือว่าชั้นนี้มาจากนั้นเรามาดูตัว

22:48 ตรงกลางครับก็คือ Row Row index 0 ครับอ่า Row index 0 เนี่ยอันนี้เป็น Row สีเหลืองตรงนี้ครับอันนี้เป็น Row index 0 0 ครับ Row index 0 Row index 1 เราก็จะได้ Row นี้มา ครับต่อมาตัวเป็นคอลัมครับเป็นคอลัม index 1 ครับก็จอันนี้คอลัม index 0 คอลัม index 1 อ่ะก็จะได้เป็นเลข 6 ออกมา ครับก็จะได้เป็นผลลัพธ์ก็ออกมาเป็นเลข 6 ครับ ผมในส่วนถัดมาครับก็จะเป็นการแก้ไขสมาชิก ใน array นั่นเองสำหรับ array 1 มิติ ครับเราก็สามารถแก้ไขได้โดยการที่พิมพ์

23:36 ชื่อตัวแปรครับแล้วก็ตามด้วย bracket ข้างใน bracket เนี่ยก็จะเป็นตัว index ของตัวเลขที่เราต้องการที่จะเปลี่ยนครับ อย่างเช่นผมต้องการเปลี่ยน index 0 เป็น เลข 10 ก็ทำดยด้วยกันชื่อตัวแปรครับแล้ว ก็ array เป็นแล้วก็ตามด้วย bracket แล้ว ก็ index 0 = 10 จากนั้นก็ลองรันดู ครับอ่ะก็จะได้เป็น array ที่ตำแหน่ง index 0 เนี่ยก็จะเปลี่ยนค่าไปเลข 10 ตามที่เราต้องการนะครับสมมุติว่าผม ต้องการอ่าที่จะเปลี่ยน index สุด ท้ายสมมุติว่า index สุดท้ายเลข 5 เนี่ย ผมต้องการที่จะเปลี่ยนเป็น 15 ก็คือเป็น index 4 ครับแล้วเขทกับ 15 ครับเราลองรันดู

24:27 ครับอ่าก็จะได้ inex 4 เนี่ยก็จะกลาย เป็นเลข 15 นะครับต่อมาเป็นการเปลี่ยนค่า ใน array 2 มิติครับทำได้โดยการที่ก็ เป็นชื่อตัวแปรแล้วก็ซ้ำด้วย bracket ครับข้างใน bracket เนี่ยก็จะเป็นตัวที่ ให้ระบุตำแหน่งของค่าที่เราต้องการ เปลี่ยนอย่างในตัวอย่างตรงนี้ครับก็จะ เป็นอันนี้เป็นตัว Row Index ู เป็นคอลัม index 1 ครับ Row index 0 ครับก็จะเป็น Row นี้ แล้วก็คอลัมน์ index 1 ครับก็จะได้เป็น เลข 2 ตรง

25:16 นี้ตำแหน่งหมายเลข 2 ตรงนี้ก็จะเปลี่ยน เป็น 20 นะ ครับต่อมาเรามาลองเปลี่ยนค่าในอ 3 มิติ กันบ้างครับครับก็เราสามารถเขียนได้ว่า เป็นชื่อตัวแปรข้างในแคจก็จะเป็นระบบ ตำแหน่งของตัวเลขที่เราต้องการเปลี่ยน ครับซึ่งในที่นี้เนี่ยผมต้องการเปลี่ยน เลข 4 เป็น 40 ครับซึ่งเลข 4 เนี่ยอยู่ใน บล็อกบล็อก index 0 แล้วก็อยู่ใน ow ow ที่ 1 แล้วก็ คอลัมน์ 1 ครับ

26:02 ลองรันดูครับอ่ะเราก็จะได้เปลี่ยนแปลงค่า เลข 4 ตรงนี้เป็น 40 เรียบร้อยแล้ว ครับครับเรามาถึงบทที่ 3 กันแล้วนะครับบท ที่ 3 เนี่ยเราจะเรียนเกี่ยวกับฟังก์ชัน ที่ใช้ในการสร้าง array เบื้องต้นครับใน กลุ่มแรกเนี่ยเราจะมาเรียน ฟังก์ชันก็คือตัวน. zer น. one น. full ก็น. empty ครับตัวน. zer เนี่ยคือ ฟังก์ชันที่ใช้ในการสร้าง array ทุกค่า เป็น 0 ครับตามขณะที่กำหนดเรามาลองกับ array 1 มิติกันบ้างครับสมมุติว่าเราจะ

26:47 สร้างตัว array 1 มิติที่มีค่าเป็น 0 ทั้งหมดครับก็เราจะพิมพ์ได้ว่าเป็น นาย zer แล้วก็ข้างข้าในตัววงเล็บครับก็ จะเป็นอ่าขนาดที่เราต้องการครับอย่างอัน นี้เราต้องการให้มีขนาดเป็น 5 ครับลองรันดู ครับอ่ะก็เราเราก็จะได้เป็นค่า 0 ทั้งหมด 5 ตัวครับสมมุติว่าเรารองซัก 100 ตัวรันดู ครับอ่าก็จะสร้าง array ที่มีขนาดเป็น 100 ครับโดยมีค่าเป็น 0 ทั้งหมดครับ

27:35 ผมเรามาลองอร 2 มิติกันบ้างครับก็นพ. zer แล้วก็ตามด้วยวงเล็บครับซึ่งวงเล็บเนี่ย ก็จะเป็นวงเล็บ 2 ชั้นครับชั้นชั้นใน เนี่ยก็จะประกอบไปด้วย ขนาดที่เราต้องการครับก็อย่างเช่นผม ต้องการให้สร้างอรยที่มีอ่าขนาดเป็น 3 คูณ 3 ครับส่วนมีค่าข้างในก็จะเป็นค่า 0 ทั้งหมดครับลองรันดู ครับอ่ะเราก็จะได้เป็น array ที่มีขนาด 3 * 3 แล้วก็ทุกค่าเป็น 0 ครับ ผมต่อมาครับเป็น array 3 มิติครับก็ คล้ายๆกับ array 2 มิติครับก็พิมพ์เป็น

28:21 นำคำสั่งคือนพ. zer ข้างในเนี่ยก็จะเป็น ขนาดของอร 3 มิติครับอันนี้ผมต้องต้องการ ให้มีขนาดเป็น 2 * 2 * 2 ครับอ่าก็จะได้เป็น r 3 มิติขนาด 2 * 2 * 2 โดยที่ทุกค่าเนี่ยเป็นเลข 0 ครับครับต่อมาเรามาสร้าง array ด้วย ฟังก์ชันน. One กันครับซึ่งฟังก์ชันนี้ เนี่ยจะสร้าง array ให้ทุกค่าเป็น 1 ตาม ขนาดที่กำหนดครับยกตัวอย่างเช่นผมจะสร้าง array 1 มิติครับที่มีขนาด 5 ความยาว 5 และทุกค่าเป็นเลข 1 ครับแล้วก็พิมพ์นพาย

29:06 do One แล้วก็ในวงเล็บก็จะเป็นความยาว ของตัวอ 1 มิติครับอันนี้ก็จะเป็น 5 ลอง รันดู ครับต่อมาเป็นขนาด 2 มิติขนาด 3 * 3 โดยที่ทุกคาเป็นเลข 1 ครับ ต่อมาเป็นอ 3 มิติครับก็มีขนาดเป็น 2 * 2 * 2 ครับคทุกคาเป็นเลข 1 ครับต่อมาเนี่ยเราจะมาสร้าง array ด้วยน. MC กันครับซึ่งฟังก์ชันนี้เนี่ยจะ เป็นการสร้าง array โดยที่เราไม่ได้กำหนด ค่าเริ่มต้นให้กับมันครับแต่เราแค่กำหนด

29:52 แค่ตัวขนาดของมันครับซึ่งค่าข้างในอเรนี้ เนี่ยก็จะมีค่าแบบสุ่มนั่นเองปกติอ่า array do array อ่าตัวนาย do empt นี่เนี่ยเขาจะใช้อ่าในโครงสร้างของมัน ครับคือใช้แค่ตัวโครงสร้างของมันโดยที่ เราไม่สนค่าข้างในครับเรามาลองรันดูกัน ครับอันนี้ก็จะเป็นการสร้าง array 1 มิติครับก็จะเขียนได้ว่านาย dot empty แล้วก็ข้างในก็จะเป็นขนาดที่เราต้องการ ครับมาลองรันดูครับก็จะได้เป็นค่าแบบสุ่ม ขึ้นมาครับเรามาลองตัว array 2 มิติดู บ้าง ครับอ่าเราจะได้ค่าแบบสุ่มๆมาครับก็ 3

30:37 มิติ ครับก็จะได้ค่าแบบสุ่มนั่น เองต่อมาก็จะเป็นการสร้าง array ด้วย ฟังก์ชันนาย full ครับซึ่งฟังก์ชันนี้ เนี่ยก็จะเป็นการสร้าง array ตามขนาดที่เราต้องการครับโดยมีค่า ที่เราระบุก็คือค่าทั้งหมดใน array ก็จะ เป็นค่าเดียวที่เราระบุ ครับก็สร้างโดยการนำพาย do full 1 มิติ ก็ใส่ขนาดครับเป็นวงเล็บแล้วก็ขนาดส่วน ค่าที่ 2 เนี่ยก็จะมีเป็นค่าที่เรา ต้องการใส่ใน array ครับอันนี้เนี่ยเราก็ จะได้เป็นมีขนาดความยาว 5 โดยค่าทุกตัวใน array เป็น 7 ครับลองรันดูครับอ่าเราก็

31:26 จะได้เป็น 7 ทั้งหมด 5 ตัวครับผมเรามาลอง อ 2 มิติกันบ้าง ครับก็นำพายฟู่อันนี้เป็นขนาด 3 * 4 ครับโดยค่าทุกตัวก็คือ 9 นั่น เองเพอะไเป็นเลข 9 ทั้งหมดครับมาลอง 3 มิติดูบ้าง ครับอ่ะอันนี้ก็จะเป็นค่า 5 ทั้งหมดเลยก็ คือเป็นค่าที่เราระบุครับ ครับเรามาลองสร้าง array จากช่วงของข้อ มูลโดยใช้น. arrange และน. lin Space กันครับฟังก์ชันแรกเนี่ยก็คือ n. arrange

32:11 ใช้สร้าง array ที่มีขนาดตามช่วงข้อมูล ที่กำหนดโดยคล้ายกับฟังก์ชัน Range ใน python ครับแต่จะคืนค่าเป็น array แทน เรามาลองดูตัวอย่างแรกครับตัวอย่างแรก เนี่ยเราจะเห็นเราจะเขียนนำพ. arrange แล้วก็ก็ตามด้วยอ่าตัวเลขครับซึ่งตัวเลข ถ้าหากเราพิมพ์เลขตัวเดียวเนี่ยก็หมายถึง เราต้องการ 10 ตัวแรกครับโดยเริ่มจาก 0 อ่าเรามาลองรันดูครับอันนี้เราก็จะได้ ตั้งแต่ 0 ไปจนถึง 9 ครับมาลองดูซะลอง 50 ตัวแรกบ้าง ครับอ่าเราก็จะได้สมาชิกตั้งแต่เลข 0 ไป จนถึง 49 ครับ

32:59 เรามาลองดูตัวอย่างที่ 2 กันบ้างครับถ้า หากเราเขียนตัวพารามิเตอร์ทั้งหมด 3 ตัว เนี่ยตัวแรกหมายถึงตัวเริ่มต้นครับก็คือ start ตัวที่ 2 ก็คือ Stop ตัวที่ 3 เนี่ยก็คือสต็ป ครับก็คือว่าเราต้องการเริ่มต้นที่ 2 ไปจนถึงก่อน 10 ครับแล้วก็เพิ่มทีละ 2 ลองรันดูครับ อันนี้ก็จะได้ตั้งแต่ 2 4 6 8 นั่นเอง ก็จะคือเพิ่มขึ้นทีละ 2 ครับเรามาลองตัว อีกตัวอย่างนึง ครับเอันนี้เราก็ต้องการเริ่มต้นที่ 10

33:45 ไปจนถึงก่อน 500 ครับก่อนถึง 500 แล้วก็ สต็ปทีละ 10 ครับก็คือเพิ่มขึ้นทีละ 10 นั่นเองก็จะได้ตั้งแต่ 10 20 30 40 ไป จนถึง 400 90 ครับครับฟังก์ชันตัวที่ 2 เนี่ยก็คือนำ p. Link Space ก็คือใช้สร้าง array ที่ ประกอบไปด้วยตัวเลขตามช่วงที่กำหนดครับ โดยแบ่งช่วงให้เท่ากันตามจำนวนที่ ต้องการในตัวอย่างแรกเนี่ยเราก็พิมพ์ นาย L Space แล้วก็ตามด้วยวงเล็บเปิดวง เล็บปิดครับข้างในวงเล็บเนี่ยเราก็พิมพ์ ตัวเริ่มต้น start แล้วก็ Stop ครับก็คือ เราต้องการการตั้งแต่เลข 1 ช่วงตั้งแต่ 1 จนถึง 10 ครับเรามา

34:32 ลองดูผลลัพธ์กันครับอ่าเราก็จะได้ตั้งแต่ 1-10 ครับแต่ว่าในระหว่าง 1-10 เนี่ยเรา ก็จะเป็นการสุ่ม ค่าตัวทศนิยมครับตั้งแต่ 1-10 เราจะเห็น ได้ว่าตัวเลขเนี่ยมันค่อนข้างเยอะครับมี ประมาณอ่า 50 50 ตัวได้ครับสมมุติว่าเรา ต้องการแค่ 5 ตัวอ่าเราเราก็สามารถที่จะ ใส่ตัวพารามิเตอร์ตัวที่ 3 ไปได้ครับก็ คือเราต้องการแค่ 5 ตัวนั่นเองสมมุติว่า ในตัวอย่างนี้ครับผมต้องการตัวเลขตั้งแต่ 0 จนถึง 1 แต่ผมขอแค่ 5 ตัวครับก็จะได้

35:19 เป็นอ่าผมก็จะได้เป็น 0 0.25 0.5 แล้ว ก็ 0.75 แล้วก็ 1 ครับโดยที่จำนวนสมาชิก เนี่ยจะมีระยะห่างที่เท่ากันครับ ผมสมมุติว่าผมต้องการ 018 แต่แค่ต้องการ 9 ตัว ครับอ่าผมก็จะได้ 0 ถึง 8 ครับก็จะมี สมาชิก 9 ตัวโดยที่แต่ละตัวเก็มีระยะห่าง ที่เท่ากัน ครับมาลองอีกตัวอย่างนึงครับ 07 ต้องการ 8

36:05 ตัวก็จะเป็นค่าเอาหลอกอันนี้ก็เป็นค่าสวย ครับสมมุติว่าผมต้องการอ่าซัก 10 ตัวล่ะเ มาลองดูกันครับจะเป็นยังไง อ่ามันก็จะได้ค่าตั้งแต่ 0 ไปจนถึง 7 ครับ 10 ตัวโดยที่มีระยะห่างที่เท่ากัน ครับ ผมครับเรามาลองเรียนในส่วนสุดท้ายของบท ที่ 3 กันครับซึ่งก็คือการสร้าง array แบบสุ่มด้วยน. Random ครับซึ่งตัวนาย Random เนี่ยก็จะมีฟังก์ชันย่อยของมัน อีกทีนึงครับในที่นี้เนี่ยก็จะยกตัวอย่าง

36:50 มา 2 ตัวนั่นเองตัวแรกก็คือน. Random rand แล้วก็ข้างในก็จะเป็นตัวไซสครับโดย ฟังก์ชันนี้เนี่ยก็จะมีการสุ่มค่าในช่วง 0 - 1 นั่นเองครับเรามาลองดูกับอะไร 1 มิติกันบ้างครับก็นำพาย Random แล้วก็ D Lan แล้ว ก็ขนาดที่เราต้องการครับอันนี้ต้องการ เป็นอะไ 1 มิติที่มีสมาชิก 5 ตัวครับหรือ ว่ามีความยาวเป็น 5 นั่นเองก็ลองรันดู ครับอ่ะก็จะเป็นการสุ่มค่าตั้งแต่ 0 ไปจน ถึงก่อน 1 นั่นเอง ครับต่อมาเรามาลองดูอร 2 เมตีกันบ้างครับ

37:36 ก็จะเป็นอ 2 มิติขนาด 3x 3 ก็จะเป็นการสุ่มค่า 0 จนถึงก่อน 1 ครับช่วง 0 จนถึงก่อน 1 ครับผมลองดูอร 3 มิติ ครับก็จะได้ค่าสุ่มมาเช่นเดียวกันครับผม ครับอีกฟังก์ชันนึงที่เป็นฟังก์ชันย่อย ของ n. Random นั่นก็คือ ny Random R inch ครับก็คือเป็นการสมค่าจำนวนเต็มตาม ช่วงและขนาดที่เราระบุเข้าไปครับยกตัว อย่างเช่นผมจะสร้าง array 1 มิติที่มี ขนาด 5 แล้วก็สุ่มตั้งแต่ 0 ไปจนถึงก่อน 5 ครับสามารถเขียนได้ว่าเป็นนาย

38:24 Random Lan แล้วก็ in ครับแล้วก็ตาม ด้วยอันนี้เป็นอ่าตั้งตั้งแต่ 0 จนถึง 5 ครับแล้วก็เราต้องการขนาดความยาว 10 นั่น เองลองรันดูครับอ่ะก็จะได้เป็นค่าสุ่ม ตั้งแต่ 0 จนถึงก่อน 5 ครับทั้งหมด 10 ตัวรันทีครับอ่าก็จะสุ่มไปเรื่อยๆ ครับโอเคเรามาลองดูการสร้างอ2มิกันบ้าง ครับก็ตามด้วยนำ . Random Lan in เหมือนเดิมครับแล้วก็ข้างในเนี่ยตัวแรก ครับก็จะเป็นตัวเริ่มต้นครับต้องการสุ่ม ตั้งแต่ 2 ไปจนถึงก่อน 10 แล้วก็ไซส์

39:10 เนี่ยผมต้องการเป็น 3 * 3 ครับลองรันดู ครับอ่ะเราก็จะได้ค่าสุ่มตั้งแต่ 2 ไปจน ถึงก่อน 10 ครับลงรันอีทีครับก็จะสุ่มไป เรื่อยๆ ครับโอเคเรามาลองสร้างอาเร 3 มิติกันบ้าง ครับก็จะเป็นการสร้างอเร 3 มิติที่มีค่า สุ่มในช่วง 5 ไปจนถึงกล่อง 10 ครับโดยที่ ขนาดเป็น 3 * 3 * 3 ครับลองรันดู ครับก็จะค่าก็จะสุ่มไปเรื่อยๆครับ ผมครับเรามาเข้าสู่บทที่ 4 กันครับบทที่ 4 เนี่ยเราจะเรียนเกี่ยวกับการปรับรูปร่าง ของ array ในนำพายครับซึ่งบทนี้เนี่ยเรา

39:58 จะเรียนเกี่ยวกับการเปลี่ยนรูปร่างของตัว array ครับการสลับแกนมิติการย้ายตำแหน่ง แกนมิติครับแล้วก็การเพิ่มลดมิติครับผม ซึ่งในหัวข้อแรกครับเราจะเรียนเกี่ยวกับ การปรับรูปร่างด้วย do Rap resize กันครับผมฟังก์ชัน res shap เนี่ยจะเป็นฟังก์ชันในการเปลี่ยน array ให้มีรูปร่างใหม่ตามที่กำหนดครับโดยที่ ที่จะไม่มีการเปลี่ยนแปลงข้อมูลใน array ครับผมยกตัวอย่างเช่นเรามี array 1 มิติ ครับที่มีสมาชิก 1-6 ผมต้องการที่จะเปลี่ยน array นี้ เนี่ยให้เป็น array 2 มิติครับแล้วก็ทำ เขียนโคดครับโดยการพิมพ์ array ครับ

40:46 dhap แล้วก็ในวงเล็บก็จะเป็นขนาดที่เรา ต้องการครับผมอย่างในตัวอย่างนี้เนี่ยก็ จะเป็นขนาด 2 * 3 ครับซึ่ง 2 * 3 เนี่ยจะเท่ากับ 6 ครับ ผมก็คือเท่ากับ array ก่อน array ก่อน เปลี่ยนนั่น เองตัวอย่างถัดมาครับก็จะเป็น do Rap 3 * 2 ครับผมก็ 3 * 2 เนี่ยก็จะได้เท่า กับ 6 เหมือนกันครับก็จะเท่ากับ array ก่อนเปลี่ยนนั่นเองครับ ผมเรามาลองดูตัวอย่างโค้ดกันครับก็ตัว อย่างแรกเนี่ยจะเป็นการเปลี่ยน 1 มิติให้ กลายเป็น 2 มิติครับข่าแรกเนี่ยเราก็

41:34 สร้างอ 1 มิติครับ ผมนี้ก็ใช้เป็นน. arrange ครับ 6 ก็คือ สร้าง array ที่มีสมาชิก 0-5 ครับจากนั้นเนี่ยผมก็จะเขียนโค้ดเปลี่ยน array เป็น 2 มิติ ครับโดยเราก็เขียนเป็น array und 1 1 1 มิติ Rap ครับก็ข้างในเนี่ยก็จะเป็นขนาดที่เรา ต้องการครับผมอันนี้ผมต้องการเปลี่ยนเป็น 2 * 3 ครับลองกดรันครับลองดูผลลัพธ์ครับอันนี้ เป็นอ่า array ก่อนเปลี่ยนนะครับแล้วก็ อันนี้ array หลังเปลี่ยนครับผมอ่าเราจะ

42:20 เห็นได้ว่ารเนี่ยเปลี่ยนเป็นขนาด 2 คูณ กับ 3 ครับ ผมโดยสมาชิกก็ยังคงเดิมครับมี 0-5 ลองดูอีกตัวอย่างนึง ครับตัวอย่างนี้ก็จะเป็นการเปลี่ยนอร 1 มิติให้กลายเป็นร 3 มิติครับผมก็ขั้นตอน แรกครับก็เราก็จะสร้าง array 1 มิติครับ ก็ใช้ arrange ก็เราก็จะได้ array 1 มิติที่ มีสมาชิก 0-7 ครับต่อมาเราก็มาเปลี่ยนรูป ร่างเป็น 3 มิติ ครับโดยที่ผมต้องการเปลี่ยนให้มีขนาด 2 * 2 * 2 ครับก็จะได้เท่ากับ 8 พอดีครับ ผมกดรันดู

43:08 ครับอันนี้เป็น array ก่อนเปลี่ยนครับผม ก็จะมีสมาชิกอร 1 มิติ 0-7 ครับเรามาลอง ดูอรหลังเปลี่ยน ครับอ่าเราก็จะได้ array 3 มิติครับที่ มีขนาด 2 * 2 * 2 ครับผม โดยสมาชิกเนี่ยก็ยังคงเดิมครับไม่มีการ เปลี่ยนแปลงสมมุติว่าถ้าเราเนี่ยอ่าอยาก ลองคูณกันแล้วไม่ได้เท่ากับ 8 หลักส่ อันเนี้ยอันนี้มันคูณกันได้ 12 ครับผมเรา มาลองดูกันว่าจะสามารถเปลี่ยนได้หรือ เปล่านี่ครับมันจะขึ้นว่า Error ครับผม บอกว่าไม่สามารถเปลี่ยนอรยอ่าที่มีขนาด 8

43:55 เป็นขนาด 2 * 2 * 2 * 3 ได้ ครับอันนี้เราก็ต้องเปลี่ยนให้มาเป็น 2 ครับผมก็ จะรันได้ไม่ติด Error ครับเรามาลองดูตัวอย่าง 2 มิติเปลี่ยนให้ เป็น 1 มิติกันครับซึ่งอันนี้ผมก็จะสร้าง ตัว array 2 มิติครับโดยที่มีสมาชิก 1-6 แล้วผมต้องการให้เปลี่ยนจาก 2 มิติเป็น 1 มิติเนี่ยเราก็เขียนได้ว่าเป็น array 2 มิติครับ Rap ในวงเล็บครับแล้วก็ใส่เป็น -1 ไปครับซึ่ง -1 เนี่ยจะหมายถึงว่าเรา เปลี่ยนเป็น 1 มิติครับลองรันดูครับออัน

44:44 นี้ก็จะเป็น array ก่อนเปลี่ยนครับแล้วก็ array หลังเปลี่ยนครับผมอ่ะก็จะกลายเป็น อร 1 มิติที่เรียงกัน 1-6 ครับ เรามาลองดูการเปลี่ยนอรย 2 มิติให้กลาย เป็น array 3 มิติกัน ครับตอนแรกเนี่ยก็สร้าง array 2 มิติ ครับโดยผมสร้างเป็นอรย 2 มิติขนาด 6 * 2 ครับผมมีสมาชิกตั้งแต่ 1-12 ครับเรามาลอง เปลี่ยนเป็น 3 มิติกันครับก็จะเป็น RR 2 มิติ res shap แล้วก็ข้างในก็จะเป็น shap ที่เราต้องการครับอันนี้ผมต้องการเป็นส 3 * 2 * 2 ครับซึ่ง 3 * 2 * 2

45:30 เนี่ยก็จะได้เท่ากับ 12 ซึ่งก็เท่ากับ 6 * 2 ของ 2 มิติครับลองรันดู ครับอันนี้เป็น array ก่อนเปลี่ยนครับ ผมก็จะเป็นหน้าตาเหมือนกันครับก็เป็นอรย หลังเปลี่ยน ครับก็จะกลายเป็นอรยที่มีขนาด 3 * 2 * 2 ครับโดยที่สมาชิกทุกตัวเนี่ยยังคงเดิม ครับผมไม่มีการเปลี่ยน แปลงครับเรามาลองดูการเปลี่ยนอรย 3 มิติ กันบ้างครับก็อันนี้ก็จะเป็นตัวอย่าง array 3 มิติเปลี่ยนไปเป็น array 1 มิติครับขั้นตอนแรกเนี่ยเราก็เขียน โค้ดสร้างอรย 3 มิติครับโดยผมสร้างเป็น

46:19 ขนาด 2 * 2 * 2 ครับจากนั้นก็เขียน โค้ดเปลี่ยนอะไเป็น 1 มิติครับก็อะไ 3 มิติ res shap แล้วก็ในวงเล็บครับก็เรา ก็เขียนลบ 1 ไปครับเพื่อที่จะเปลี่ยนเป็น array 1 มิตินั่นเองลองดันดู ครับอันนี้เป็น array ก่อนเปลี่ยนครับผม อ่ะก็จะมีขนาด 2 * 2 * 2 ครับแล้วก็ อันนี้เป็นอรยหลังเปลี่ยนครับผมก็จะเป็น 1 มิติอ่าก็จะมีสมาชิกตั้งแต่ 1 1 -8 ครับลองดูตัวสุดท้ายครับก็จะเป็นการ เปลี่ยน array 3 มิติให้กลายเป็นอเร 2

47:07 มิติครับโดยขั้นตอนแรกเนี่ยก็จะสร้างอเร 3 มิติครับ ผมที่มีขนาด 2 * 2 * 3 ครับจากนั้นเนี่ยเราต้องการที่จะเปลี่ยน อเร 3 มิติให้กลายเป็นอเร 2 มิติครับก็ เขียนโค้ด RR 3 มิติ rap ข้างในเนี่ยก็จะเป็นขนาด 2 มิติที่ เราต้องการครับซึ่งในที่นี้นะผมต้องการ เปลี่ยนเป็น 4 * 3 ซึ่งจะเท่ากับ 12 พอ ดี ครับลองรันดูครับผมอันนี้ก็จะเป็นอรก่อน เปลี่ยน ครับก็จะมีขนาด 2 * 2 * 3 ครับก็อัน นี้เป็นอรยหลังเปลี่ยนอรย 2 มิติหลัง

47:54 เปลี่ยนครับเราก็จะได้เป็นอ 2 มิติขนาด 4 * 3 ครับ ผมครับฟังก์ชันถัดมาเนี่ยก็จะเป็น ฟังก์ชัน reside ครับผมซึ่งฟังก์ชันนี้ เนี่ยก็จะคล้ายกับอ่าฟังก์ชัน Rap เลย ครับแต่ว่าฟังก์ชันนี้เนี่ยจะมีการ เปลี่ยน array ของต้นฉบับครับยกตัวอย่าง เช่นผมเนี่ยมีการสร้าง array 1 มิติครับ ก็คือมีสมาชิกตั้งแต่ 0 -5 ครับแล้วผม เนี่ยจะเปลี่ยนรูปร่างของไอ้ตัว array ตัวแปร array 1 มิติตรงนี้ครับเราเขียน ได้ว่าเป็น R 1 มิติ resize แล้วก็ตาม

48:40 ด้วยไซต์ที่เราต้องการ ครับอ่าซึ่งตัวแปร array 1 อ่า array und 1d เนี่ยก็จะเปลี่ยนเป็นขนาด 2 * 3 ครับซึ่งต่างจาก res shap ครับผม D shap เนี่ยอันนี้ผมมันผมได้สร้างตัวแปร อีกตัวนึงเพื่อมารองรับ ครับแต่อันนี้เนี่ยก็นี้มันไม่ได้มีการ สร้างตัวแปรใหม่ขึ้นมาเพราะว่ามันเป็นการ เปลี่ยนของตัวรของตัวมันเองเลยครับลองดู อีกตัวอย่างนึงครับก็อันนี้ผมสร้างอร 1 มิติมาครับก็จะเป็นขนาด 8 ครับมีสมาชิก ตั้งแต่ 0 - 7 ครับแล้วผมต้องการ

49:27 เปลี่ยนให้เป็น array 3 มิติ ครับแล้วก็เขียนได้เป็น array und 1dd sz แล้วก็ตามด้วยไซส์ 3 มิติที่เรา ต้องการครับนี้ก็เป็น 2 * 2 * 2 ครับ ลองดูผลลัพธ์กัน ครับนะก็จะได้เป็นผล ลัพธ์ผลลัพธ์ของตัวแปร array 1d เนี่ยก็ จะเปลี่ยนแล้ว ครับครับในส่วนถัดมาเนี่ยเนี่ยก็จะเป็น การแปลง array ให้กลายเป็น 1 มิติด้วย ฟังก์ชัน laval แล้วก็ frac ครับซึ่งทั้ง 2 ฟังก์ชันนี้เนี่ยก็จะมีความแตกต่างจาก ฟังก์ชัน res shap ที่เป็น -1 ครับเพราะ ว่ามันจะมีพารามิเตอร์เพิ่มขึ้นมา 1 ตัว ครับผมก็คือตัวออเดอครับเราสามารถที่จะ

50:14 กำหนดการจัดลำดับได้ครับผมการออเดอร์หลัก ๆเนี่ยก็จะมีอ่าใช้กัน 2 ตัวครับตัวแรกก็ จะเป็นประเภท C ก็จะเป็นตัวเริ่มต้นครับ default ก็คือใช้ลำดับการจัดเก็บแบบ Row Major Order ครับหรือแบบ C Style Order ซึ่ง ถูกจัดเก็บจากทางซ้ายไปดาขวาในแต่ละแถว ครับแล้วก็ไปยังแถวถัดไปแบบที่ 2 ครับก็ คือประเภท f ก็คือใช้ลำดับการจัดเก็บแบบ colum measure Order ครับหรือ For Time Style Order ซึ่งถูกจัดเก็บจากบน ลงล่างของคอลัมน์ครับแล้วก็ไปยังคอลัมน์ ถัดไปจากในรูปครับอันนี้ก็จะเป็นการใช้ ฟังช laval ที่เป็นลำดับแบบประเภท C ครับ

51:01 ผมก็เริ่มจากซ้ายไปทางขวาแล้วก็เริ่มที่ แถวใหม่ครับก็จะเป็น 1 2 3 4 ครับเวลา แปลงออกมาก็จะได้เป็น 1 2 3 4 ครับผม เรามาลองดูโค้ดกันบ้าง ครับโอเคครับก็อันนี้ก็จะเป็นการสร้าง โค้ดตัว R 2 มิติครับที่มีขนาด 2 * 3 เวลาเรียกใช้ฟังก์ชันครับก็เรียกเป็นตัว แปรตัวที่เก็บอะไครับ do ral ครับลองรันดู ครับนี้ก็จะเป็นตัว array ต้นฉบับครับ แล้วก็อันนี้อที่แปลงมาแล้วครับเราก็จะ

51:47 ได้เห็นได้ว่าเราได้เป็น 1 2 3 4 5 6 ครับผมสมมุติว่าผมต้องการที่จะลำดับใหม่ ครับคืออยากจะเลือกเป็นประเภท f ครับ ผมออดอครับแล้วก็เป็นประเภท f ประเภท f เนี่ยก็คือจากบนลงล่างครับลองรันดู ครับเราจะเห็นได้ว่าเราจะได้ผลลัพธ์ออกมา เป็น 1 4 2 5 3 6 ครับผมซึ่งก็จัด ลำดับจากบนลงล่างครับก็คือ 1 4 แล้วก็ขึ้นไปยังคอลัมน์ถัดไปครับก็ จะเป็น 2

52:34 5 แล้วก็ 3 6 ครับในส่วนถัดมาเนี่ยเรามาลองแปลง array 3 มิติให้กลายเป็น array 1 มิติด้วย ฟังก์ชัน ral กัน ครับอันนี้ผมก็จะได้สร้างตัว arr 3 มิติ ที่มีขา 2 * 3 * 4 ครับโดยสมาชิกก็จะ มีทั้งหมด 24 ตัวครับผมก็คือ 1-24 ควิธี เลียกใช้ครับก็จะเป็นตัวแปรครับ raval ครับลองดูกัน ครับนี้ก็จะเป็นตัว array 3 มิติต้นฉบับ ครับแล้วก็อันนี้ที่ได้แปลงเป็น array 1

53:19 มิติครับ ผมก็จะได้ 1 จนถึง 24 ครับสมมุติว่าผม ต้องการที่จะแปลงเป็นประเภท f ดูบ้าง ล่ะรันดู ครับอ่ะเราจะเห็นได้ว่าตัวเลขเนี่ยมันจะ อ่าสลับกันครับผมก็คือมันจะเป็น 1 13 5 17 ครับวิธีการลำดับของตัว r 3 มิติแบบ ประเภท f ครับก็จะจะเริ่มจาก 1 แล้วก็ลง มาเป็นจับ 13 แล้วก็

54:05 5 17 แล้วก็ 9 21 ครับจากนั้นก็ขึ้น คอลัมน์ใหม่เป็น 2 14 6 18 10 22 แบบนี้ไปเรื่อยๆครับถ้าเรา เอาอ่าตัวโคนนี่มาทำเป็นตัวรูปให้ดูง่าย ครับก็จะเป็นรูปแบบนี้ครับก็คืออร 3 มิติ ขนาด 2 * 3 * 4 ครับการจับคู่ครับก็ เริ่มจาก 1 ตรงนี้ครับ 1 จับคู่กับ 13 ตรงนี้ครับแล้วก็ 5 17 9 21 2 14 6 18 10 22 แบบนี้ไปเรื่อยๆครับเราก็จะ ได้ผลลัพธ์ออกมาเป็นรูปดังนี้ครับผมเป็น

54:52 รูปนี้ครับ โอเคครับเรามาอีกฟังก์ชันนึงครับอันนี้ก็ จะเป็นการทำ array แปลง array ให้กลาย เป็น 1 มิติเหมือนกันครับแต่ว่าตัว frac เนี่ยก็จะมีความแตกต่างจากตัว laval อยู่ ที่แเนี่ยเวลาเรียกใช้เนี่ยมันจะคืนค่า ชุดข้อมูลใหม่ครับซึ่งต่างจาก ral ครับตัว raval เนี่ยก็คือจะคืนค่าข้อมูล ในรูปของ View นั่นเองซึ่งอ่ามุมมองแบบ View เนี่ยถ้าหากเรามีตัว array ที่เป็น array ต้นฉบับอย่างตัวนี้ครับแล้วก็มี array ใหม่โดยใช้รต้นฉบับมาอาจจะแก้ไข ตัวรต้นฉบับครับซึ่งถ้าเป็น View เนี่ย

55:41 ถ้าหากเราทำการแก้ไขค่าที่อยู่ในอใหม่มัน ก็จะทำให้ค่าของตัวอเรต้นฉบับเนี่ย เปลี่ยนไปด้วยถ้าหากเราแก้ไขอเรต้นฉบับ ตรงนี้ครับ array ใหม่ก็จะเปลี่ยนค่าไป ด้วยครับ เดี๋ยวจะมีอธิบายอย่างละเอียดครับในหัว ข้อถัดไปครับผมสำหรับเรื่อง View แล้วก็ Copy ครับเรามาดูฟังก์ชันแกันครับก็จะ คล้ายๆกับอ่าฟังก์ชัน raval ครับนี้ก็จะ เป็นตัวอ่า array 2 มิติครับ ผมแปลงให้เป็น 1 มิติก็จะเป็นก่อนก็หลัง

56:28 ครับนี่เป็นอ 3 มิติครับ ผมอ่ะนี้เป็นก่อนครับแล้วก็นี้เป็นอหลัง แปลงครับผมซึ่งแเนี่ยก็สามารถที่จะใส่ตัว พตอ Order ไปได้ ครับออดอเป็น f เราก็สามารถใส่ได้เช่นเดียวกับ ฟังก์ชัน ral ครับ 3 มิติก็ใส่ได้เช่นกันครับออดอเข กับก็จะเป็นเรียงตัวอ่า 3 มิติเนี่ยก็

57:16 เรียงเหมือนกับ ral ที่สอนไปเลย ครับครับในหัวข้อนี้เราจะมาเรียนการสร้าง มุมมองของ array ด้วย View แล้วก็ Copy กันครับจากในหัวข้อที่แล้วที่มีการเกริ่น คร่าวๆครับเกี่ยวกับ View ครับผมในหัวข้อ นี้เราก็จะมาเรียนแบบเจาะลึกกันครับก่อน อื่นครับทั้ง View ทั้ง Copy เนี่ยเป็น ฟังก์ชันที่ใช้ในการ copy ตัว array ครับ ซึ่ง View จะมีความแตกต่างกันครับก็คือ View เนี่ยจะมีการ copy array ซึ่ง array ที่สร้างขึ้นมาใหม่เนี่ยจะใช้ข้อ มูลเดียวกับ array ต้นฉบับครับถ้าหากเรา มีการแก้ไข array ที่สร้างขึ้นมาใหม่ก็จะ ส่งผลไปถึงตัวอรต้นฉบับเพราะว่าทั้ง 2 เนี่ยมีการแชร์ข้อมูลเดียวกัน

58:04 ครับยกตัวอย่างเช่น array a เนี่ยเป็น array ต้นฉบับครับก็จะมี 0 2 3 4 5 6 ส่วน r b เนี่ยก็คือเรา View หรือว่า Copy มาจากตัว raa ครับแต่ว่าอันนี้เรา มีการแบบอ่าเลือกสมาชิกครับเราก็จะได้ หน้าตาแบบนี้ครับเราจะเห็นได้ว่าทั้ง a ทั้ง B เนี่ยมีสมาชิกก็คือ 0 เหมือนกัน ถ้าหากเรามีการเปลี่ยนค่า 0 ในอร B เป็น เลข 10 ครับค่าสูในอเร a เนี่ยก็ต้องถูก เปลี่ยนเป็นเลข 10 ด้วยเช่นเดียวกันครับ เรามาลองดูโค้ดกันครับอ่าอันนี้ผมมีการ สร้างตัวอรยต้นฉบับครับเป็น array 1 มิติแล้วก็ต่อมาครับก็จะมีการสร้าง array

58:52 ใหม่ครับก็คือ View und array เท่ากับอ นี้เป็น array ต้นฉบับครับ do View อันนี้เราก็มีการสร้างตัว array อรใหม่ครับที่เหมือนกับตัวอรต้น ฉบับจากนั้นผมลองเปลี่ยนค่า index 1 เนี่ยใน AR ใหม่ครับเป็นค่า 100 เรามาลอง ดูผลลัพธ์กันครับว่าจะเป็นอย่าง ไรอ่ะเราจะเห็นได้ว่าตัวอันเนี้ยเรามีการ เปลี่ยนอ่า index 1 ใน array ใหม่ครับเป็นค่า 100 เราจะเห็น ได้ว่า array ใหม่เนี่ยก็มีการเปลี่ยนค่า 100 จริงแต่ตัว array ต้นฉบับเนี่ยก็มีการเปลี่ยนแปลง

59:38 เป็นค่า 100 ด้วยครับถ้าหากเราลองเปลี่ยน index C เป็น 400 ครับลองดูครับว่าจะเกิดอะไรขึ้นอ่ะอันนี้ เรามีการเปลี่ยนค่าใน array ใหม่ครับใน array ต้นฉบับเนี่ยก็จะเปลี่ยนค่าด้วย เช่นเดียวกัน ครับอ่ะเรามาลองดูอีกตัวอย่างนึงครับซึ่ง อ่าอันเนี้ยเราจะไม่ได้เรียกใช้ตัว ฟังก์ชัน do fiel ครับ ผมแต่ว่าเราจะเป็นการอ่ากี้จากตัวต้นฉบับ แบบเลือกหรือว่าแบบสไลด์ครับซึ่งการ sling เนี่ยก็จะไปเรียนในบทที่ 5 ครับ ผมอันนี้เป็นตัวอย่างคร่าวๆครับก็จะเป็น

1:00:24 การสร้าง arr 1 มิติครับจากนั้นเนี่ยผม ก็สร้าง array ใหม่ครับเป็น View und array เท่ากับตัว array Original ครับ แล้วก็อันนี้เป็นการเลือกผมเลือกตั้งแต่ 0 index 0 ไปจนถึงก่อน index 3 ครับก็จะ ได้ 0 1 2 อันนี้ก็จะได้ 3 ตัวครับผมมา ลองดู array ที่เราเลือกกันครับอ่ะนี้คือ ผม เลือกหอกผมสร้าง array ใหม่เนี่ยโดยผม เลือกสมาชิกจากใน array ต้นฉบับครับผม เลือก 1 2 3 มาแล้วสมมุติว่าผมจะ เปลี่ยนค่าในอรยใหม่ครับผมจะเปลี่ยน index 2 ก็คือเลข 3 เนี่ยเปลี่ยนเป็น 500 ลอง

1:01:09 ดูครับว่าอรต้นฉบับเนี่ยจะเปลี่ยนค่าหรือ เปล่าอ่ะเราจะเห็นได้ว่า array เผมเปลี่ยนค่า 3 จาก 3 เป็น 500 ในรใหม่ครับแล้วก็ส่วนอเรต้นฉบับเนี่ยก็ มีการเปลี่ยนค่าเช่นเดียวกันครับก็คือจาก 3 เป็น 500 อ่ะทั้งหมดนี้เราก็จะเห็นได้ ว่าถ้าหากเรามีการเปลี่ยน ค่าในอรใหม่ที่สร้างจากตัวต้นฉบับเราจะ เห็นได้ว่าตัวต้นฉบับเนี่ยก็จะเปลี่ยนค่า เหมือนกันครับผมเพราะว่าทั้ง 2 ข้อมูล ทั้ง 2 เนี่ยมันมีการแชร์ใช้ร่วมกัน ครับอ่ะเราต่อมาเรามาลองดูกับ C กันบ้าง

1:01:56 ครับซึ่ง Copy เนี่ยก็จะเหมือนกับตัว View เลยครับผมแต่ว่า Copy เนี่ยมันจะมีการ copy ค่า array ใหม่ขึ้นมาซึ่ง array ใหม่ที่สร้างขึ้นมาเนี่ยจะไม่มีอะไร เกี่ยวข้องกับ array ต้นฉบับครับอย่าใน รูปเนี่ยก็จะมี 1 2 3 4 5 6 เป็นอรย ต้นฉบับ a ครับจากนั้นก็ก็จะมีการสร้าง array ใหม่มาโดยที่ array ทั้ง 2 เนี่ย ไม่มีการลิงของข้อมูลกันครับสมมุติว่าผม ต้องการเปลี่ยนเลข 4 ใน B ใน array a เลข 4 เนี่ยก็จะไม่มีการเปลี่ยนแปลงครับ ผมมาลองดูตัวอย่างกัน ครับสมมุติว่าผมมี array ที่เป็น array ต้นฉบับครับแล้วผม

1:02:42 สร้าง array ใหม่ครับก็เป็น Copy und array เท่ากับ Original array Copy ครับอันนี้ผมก็จะ Copy ข้อมูลมาสมมติ สมมุติว่าผมต้องการเปลี่ยน index 0 0 ใน array ใหม่ครับ array ที่เรา Copy มา เนี่ยผมต้องการเปลี่ยน index 0 เป็น 99 ก็คือ 1 เปลี่ยน 1 เป็น 99 ครับมาลองลอง ดูผลกันครับอ่ะเราจะเห็นได้ว่าตัว array ต้นฉบับเนี่ยไม่มีการเปลี่ยนแปลงครับแต่ จะเปลี่ยนแปลงตรงที่ array ที่เรา Copy มาครับ ผมครับในหัวข้อนี้เราจะมาเรียนการสลับแกน มิติด้วยด้วยฟังก์ชัน Transport และ d t

1:03:28 กันครับซึ่ง Transport เนี่ยก็คือการ เปลี่ยนจากแกนนอนเป็นแกนตั้งครับผมสำหรับ array 2 มิติครับจากในรูปครับก็จะมีอรย 2 มิติที่เป็นขนาด 2 * 3 แล้วผม ต้องการที่จะ Transport ผมก็จะได้เป็น array ที่มี ขนาด 3x 2 ครับโดยเปลี่ยนจากแกนนอนก็คือ 1 2 3 เปลี่ยนเป็นแกนตั้งตรงนี้ครับแล้วก็ 4 5 5 6 ก็จะเปลี่ยนเป็นแกนตั้งตรงนี้ ครับผมเราก็จะได้เป็น 1 4 2 5 3 6 ครับผมเรามาลองดูโค้ดกันครับก็อันนี้ก็จะ เป็นสร้างอะไร 2 มิติครับ 1 2 3 4 5 6 จากนั้นการ transp ทำได้โดยการตัวแปร

1:04:15 ครับแล้วก็เท่ากับเป็น array 2 มิติ Transport ครับเรามาลองดูผลลับกันครับอ่ะเราก็จะได้ เป็น 1 4 2 5 3 6 ครับผมหรือว่า Trans support เนี่ยเราอาจจะใช้เป็น do T ก็ได้ครับก็จะได้เหมือนกันครับ ผมเปลี่ยนจากแกนนอนเป็นแกนตั้ง ครับครับในหัวข้อถัดมาเราจะมาเรียนการ ย้ายตำแหน่งแกนมิติด้วยฟังก์ชัน Move assd กันครับซึ่งฟังก์ชันนี้นะครับก็จะ เป็นฟังก์ชันในการย้ายตำแหน่งแกนมิติจาก ตำแหน่งหนึไปยังอีกตำแหน่งนึงครับโดย

1:05:02 ฟังก์ชัน Move asit ครับก็จะใส่ทั้งหมด 3 พารามิเตอร์ครับพารามิเตอร์แรกก็คือตัว array ครับผมที่เราต้องการที่จะย้ายแกน ตำแหน่งครับแล้วก็ตามด้วย sce แล้วก็ตาม ด้วย destination ครับอันนี้ก็จะเป็น ตำแหน่งแรกแล้วก็เป็นตำแหน่งสุดท้ายครับ ก็อันนี้ผมก็จะมีการสร้างตัว array 2 มิติครับผมที่มีขนาด 2 * 3 จากนั้น เนี่ยผมต้องการที่จะย้ายแกนครับจากแกน 0 ไปยังแกน 1 ครับผมทำได้โดยนพาย do Move asit ครับแล้วก็ตามด้วย array แล้วก็ตาม ด้วยตำแหน่งที่เราต้องการย้ายครับคือผม ต้องการย้ายตำแหน่ง 0 ไปอย่างตำแหน่ง 1 ครับลองรันดู

1:05:49 ครับอ่ะเราจะเห็นได้ว่าตัว Original เนี่ยผมต้องการย้ายตำแหน่ง 0 ไปยัง ตำแหน่ง 1 ก็คือคือย้ายตำแหน่งไปตรงงเลข 2 ตรงนี้ครับไปยังตำแหน่งตรงเลข 3 ตรงนี้ ครับอ่ะอรใหม่ที่เราได้เนี่ยเราก็จะได้ เป็นอรที่มีขนาด 3 * 2 ครับ ผมลองเราลองมาดูรูปร่างของอกันครับอันนี้ เป็นร Original ครับที่มีขนาด 2 * 3 ต่อมาจะเป็นอเรที่เราทำการย้ายแกนมิติจาก ตำแหน่ง0นไปยังตำแหน่ง 1 ครับอ่ะเราจะ เห็นได้ว่าจะได้เป็นอรยที่มีขนาด 3 * 2 ครับผมหรือว่าเป็นการ

1:06:35 transp array นั่นเองครับในส่วนถัดมา ครับเรามาลองย้ายตำแหน่งแกนมิติกับ array 3 มิติกันบ้างอันนี้ผมได้มีการสร้างอ่า ตัว array 3 มิติโดยใช้ Range ก็จะได้ ค่า 0-23 จากนั้นก็ res shap ให้มันเป็น 3 มิติครับ ที่มีขนาด 2 * 3 * 4 ถ้าหากผมต้องการ ที่จะย้ายตำแหน่ง 0 ไปยังตำแหน่ง1ึครับผม ก็เขียนได้เป็น . M 10 แล้วก็ตามด้วย array ครับแล้วก็ตามด้วยตำแหน่งที่เรา ต้องการย้ายครับผมจาก 0 ไป 1 ลองรันดู ครับ อ่ะตัวอเริ่มต้นหรือตัว Original ของมัน

1:07:21 เนี่ยมีขนาด 2 * 3 * 4 อรใหม่ที่ผม ได้ทำการย้ายแกนจาก 0 ไป 1 ครับก็จะได้ เป็นอรที่มีขนาด 3 * 2 * 4 ครับ ผมหรือว่าเป็นการสลับกันของตำแหน่งที่ 0 กับตำแหน่ง 1 ครับเรา ลองรันอนี้อันนี้ก็จะเป็นตัว Original ครับที่มีขนาด 2 * 3 * 4 ครับ ผมแล้วเราลองมาดูอเรใหม่ที่เกิดจากการ ย้ายแกนครับอเราก็จะได้เป็นอเรที่มีขนาด 3 * 2 แล้วก็คูณ 4 ครับผม

1:08:08 อครับเรามา ลองย้ายจากแกน 1 ไปยังแกน 0 บ้างครับเรา มาดูความต่างครับระหว่างเราย้ายแกน 0 ไป ยังแกน 1 กับย้ายแกน 1 ไปยังแกน 0 ครับ นี้ผมก็จะสร้างอรย 3 มิติมา ครับก็ใช้น. mve assd ครับแล้วก็พตอ array แล้วก็ย้ายแกน 1 ไปยังแกน 0 ครับ เราลองมาดูผลลัพธ์ครับก็จะต่างจากการย้าย จาก 0 ไป 1 ยังไงอ่ะอันนี้ก็อะไรเริ่มต้น ครับก็จะได้เป็น 2 * 3 * 4 แล้วก็อเร ใหม่ที่ได้เนี่ยก็จะได้เป็น 3 * 2 * 4

1:08:53 ครับ อันนี้เป็นตัว Original ครับเป็น array Original อันนี้ก็เป็น array ที่เกิดจาก การย้ายจากแกน 1 ไปยังแกน 0 ครับซึ่งเรา จะเห็นได้ว่าการย้ายจากแกน 0 ไปยังแกน 1 หรือย้ายจากแกน 1 ไปยังแกน 0 ของตัวอ 3มิติครับก็จะได้ ค่าเท่ากันครับผมหรือว่าได้อเรที่มี สมาชิกเหมือนกันครับจัดเรียงเหมือน กันครับเรามาลองอเ 3 มิติอีกตัวอย่างนึง บ้างครับก็จะเป็นอรสมิติที่เป็นการย้าย จากแกน 0 ไปยังแกน 2 ครับก็คือมีการข้าม

1:09:40 ไป 2 แกนเลยครับนะผมก็จะมีการสร้างตัวอร 3 มิติมาครับที่มีขนาด 1 * 2 * 3 ครับ ผมจากนั้นเนี่ยผมต้องการที่จะย้ายแกนมิติ จากตำแหน่ง 0 ไปอย่างตำแหน่ง 2 ครับเ เขียนเป็นนาย Moove asit ครับแล้วก็ตาม ด้วย array แล้วก็ตามด้วยตำแหน่งที่เรา ต้องการย้ายครับจาก 0 ไป 2 ครับ ผมเราลองรันดูผลลัพธ์ดูครับอ่าตัวอะไดั้ง เดิมเนี่ยตัวหรือตัว Original เป็น 1 * 2 * 3 แล้วอรใหม่ที่ได้เนี่ยได้เป็น 2 * 3 * 1 ครับซึ่งมันจะแตกต่างจากการ

1:10:26 ย้ายตำแหน่ง 0 ไปยังตำแหน่ง 1 ครับถ้าหาก เราย้าย 0 ไป 1 เนี่ยนี้ตำแหน่ง 0 ครับ นี้แล้วตำแหน่ง 1 หากเราย้าย 0 ไป 1 เนี่ยก็จะเป็นการสลับกันของ 2 เลขครับแต่ ถ้าหากเราย้ายแบบจาก 0 ตรงนี้ครับจาก 0 ย้ายไป 2 ตรงนี้ครับวิธีลำดับการย้าย เนี่ยตอนแรกครับมันจะเริ่มจากอที่มีขนาด 1 * 2 * 3 ครับจากนั้นมันก็จะเป็น การือเลื่อนเลื่อนแกนครับเลข 1 ตรงนี้ก็ จะเลื่อนมาอยู่ตรงกลางครับส่วนเลข 3 ก็จะ ย้ายเข้ามาแทน ที่เลข 1 ครับก็จะได้เป็น 3 1 2 จาก นั้น 1 ครับก็เลื่อนไปทางขวา 1 ช่องครับ

1:11:12 ก็จะได้ 1 เลข 1 ครับที่อยู่ตรงตำแหน่ง ที่ 2 แล้วก็ 2 ครับก็จะแทนที่ 3 แล้วก็ส่วน 3 เนี่ยก็จะเลื่อนเข้ามาแทนที่ 1 ครับผม ก็จะได้เป็น 2 * 3 * 1 นั่นเองหรือ ว่าจะเป็นการเลื่อนแบบตามเข็มนาฬิกา ครับอเราก็จะได้เป็น array ใหม่ขึ้นมาที่ มีขนาด 2 * 3 * 1 ครับเลองดูผลลัพธ์ครับอันนี้จะเป็นตัว array ที่เป็นต้นฉบับครับแล้วก็อันนี้ก็ จะเป็น array ที่เราทำการย้ายแกนครับอเรา จะได้เป็นอ่าทะเลที่มีขนาด 2 * 3 ครับแล้วก็คูณ

1:12:06 1 ครับในหัวข้อสุดท้ายของบทที่ 4 ครับก็ จะเป็นการเพิ่มและลดมิติด้วยน. New assd และน. expand dim หรือ expand Dimension ครับแล้วก็สุดท้ายก็จะเป็นฟังก์ชันที่ ชื่อว่า sed ครับเป็นการลดมิติครับผมอ่ะ เรามาลองฟังก์ชัน ire dne AIS กันครับ ผมก็จะสร้างตัว array ที่เป็น array 1 มิติครับจากนั้นผมจะลองเพิ่มมิติโดยการ พิมพ์ตัวแปรครับแล้วก็เท่ากับตัว array 1 มิติครับจากนั้นก็ตามด้วย bracket ครับ ข้างในเนี่ยก็จะตัวันแรกเนี่ยก็จะเป็น เครื่องหมายคอลอครับซึ่งคอลอเนี่ยมันหมาย ถึงการที่เราเอาสมาชิกทุกตัวครับซึ่งใน

1:12:53 คอนเนี่ยเราจะเรียนในบทัดไปก็ครบก็คือ เรื่องการ slicing ส่วนก็ตามด้วยตัวคอมครับจากนั้น ก็ตามด้วยน. New Asset ครับก็จะเป็นการ สร้างมิติเพิ่มขึ้น 1 มิติครับ ผมเรามาลองดูกันครับอ่ะเราก็จะ ได้เป็นขนาด 3 * 1 นั่นเองครับ ผมอ่ะสมมุติว่าผมเนี่ยต้องการที่จะสร้าง 1 มิติให้กลายเป็น 3 มิติ 4 ล่ะเราจะทำยัง ไงครับก็ขอตัวแปรครับเป็น 3D เราก็จะเพิ่มตัวนพาย New R ครับ เพิ่มเข้าไปอีกชั้นนึง ครับแบบนี้ครับผมอเรามาลองปริ้นดู

1:13:44 ครับอ่ะเราก็จะได้เป็น array ที่มีขนาด 3 มิติครับก็มีขนาดเป็น 3 * 1 * 1 ครับ ผม ต่อมาครับเรามาลองเพิ่มมิติด้วยน. expand dim หือ expand Dimension ครับนี่ก็จะ เป็นการสร้างตัว array 1 มิติครับผมจากนั้นเนี่ยผมจะ เพิ่มมิติเพิ่มอีก 1 มิติครับเป็น 2 มิติก็จะเป็นอ 2 มิติเท่ากับ ire expand Dimension ครับข้างในเนี่ย พารามิเตอร์ครับก็จะมีตัว array ที่เป็น 1 มิติครับจากนั้นเนี่ยก็ตามด้วย asit = 1

1:14:32 assd = 1 นะก็หมายถึงว่าเรามีการเพิ่ม มิติตามแนว 1 เนี่ยก็หมายถึงเราเพิ่มตาม แนวคอลัมน์ ครับหรือว่าเรามีการเพิ่มตามแนวตั้งนั่น เองลองรันดู ครับอ่ะเห็นมยครับว่ามันจะเป็นการการ สร้างอ 2 มิติที่เป็นแนวตั้งครับผมก็จะมี ขนาด 3 คูณนึงสมมุติว่าผมจะเปลี่ยนครับ จาก assis = 1 เป็น as เท 0 อันนี้เรา จะมีการเพิ่มตามแนว Row หรือว่าตามแถว นั่น เองอนี้เป็นจะเป็นแนวนอน ครับก็จะมีการเพิ่มมิติครับโดยที่มีขนาด 1

1:15:20 * 3 สุดท้ายครับก็จะเป็นการลดมิติด้วย ฟังก์ชันที่ชื่อว่า sed ครับก็ผมก็จะมี การสร้างตัว array ที่เป็น array 3 มิติ ครับที่มีขนาดคือ 2 * 3 * 1 ครับเราจะลอง ลดมิติครับโดย การตัวแปรครับผมเป็น R 2 มิติเท่ากับ r 3 มิติ Speed ครับ มาลองดูผลลัพธ์กัน ครับอ่ะเราก็จะได้เป็นรที่เป็น 2 มิติที่ มีขนาด 2 * 3 ครับผม

Share

YouTube Video Summaries