Python – Matrix

og:image

Python – Matrix

เมทริกซ์(matrix) คือการจัดโครงสร้างข้อมูลในรูปแบบ 2 มิติ(two-dimensional) ซึ่งจะนำข้อมูลตัวเลขไปทำการจัดเรียงให้อยู่ในโครงสร้างซึ่งประกอบด้วยแถว(row)และหลัก(column)

จากตารางตัวอย่างนั้น เป็นการจำลองการเก็บข้อมูลจำนวนหนังสือที่อยู่ในคลังสินค้าของร้านหนังสือสาขาต่างๆ โดยจัดเก็บข้อมูลในรูปแบบเมทริกซ์(matrix) ที่มีขนาด 5×4 คือมีข้อมูล 5 แถว และ 4 หลัก

เนื่องจากใน python นั้นไม่มีรูปแบบข้อมูลชนิดเมทริกซ์ หากต้องการจัดโครงสร้างข้อมูลให้อยู่ในรูปแบบดังกล่าว ต้องอาศัยการจัดรูปแบบข้อมูลโดยใช้ลิสต์ซ้อนอยู่ภายในลิสต์มาแทน หรืออาจใช้อาเรย์ซ้อนอยู่ภายในอาเรย์จากไลบรารี่ numpy

  1. การสร้างข้อมูลในรูปแบบเมทริกซ์
    1. การสร้างเมทริกซ์ของข้อมูลโดยการสร้างลิสต์ซ้อนอยู่ภายในลิสต์
      • การสร้างเมทริกซ์ของข้อมูลโดยการกำหนดข้อมูลทั้งหมดภายในครั้งเดียว
        เนื่องจากใน python ไม่มีชุดข้อมูลชนิดเมทริกซ์ ดังนั้นการสร้างข้อมูลรูปแบบเมทริกซ์ต้องอาศัยการสร้างข้อมูลลิสต์ซ้อนอยู่ภายในข้อมูลอีกลิสต์หนึ่งโดยแต่ละลิสต์ภายในจะแยกกันด้วยเครื่องหมาย “, ” และข้อมูลทั้งหมดจะอยู่ภายในเครื่องหมาย “[]”
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์
        # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์แทน โดยทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้า
        # ของร้านจากสาขาต่างๆ
        books_in_stores = [[5, 0, 5, 2], 
                           [2, 5, 2, 3], 
                           [10, 8, 8, 5],
                           [0, 5, 1, 6],
                           [8, 9, 2, 0]]
        
        # โปรแกรทำการปรินต์ค่า
        print( books_in_stores )
        # โปรแกรมทำการปรินต์ค่า
        # [[5, 0, 5, 2], 
        #  [2, 5, 2, 3], 
        #  [10, 8, 8, 5],
        #  [0, 5, 1, 6],
        #  [8, 9, 2, 0]]
        
        

        จากตัวอย่าง ตัวแปร books_in_stores นั้นเก็บข้อมูลในโครงสร้างเมทริกซ์ที่มีขนาด 5×4 โดย จะมีข้อมูล 5 แถว(row), 4 หลัก(column) ซึ่งข้อมูลแต่ละแถวจะระบุข้อมูลจำนวนหนังสือในแต่ละสาขาและข้อมูลในแต่ละหลักจะระบุข้อมูลจำนวนของหนังสือเล่มต่างๆในทุกสาขา
        ข้อมูลในแต่ละลำดับของแถว(row) ซึ่งระบุจำนวนหนังสือในแต่ละสาขา

        • ลำดับที่ 0: รหัสสาขา “BR0001”
        • ลำดับที่ 1: รหัสสาขา “BR0002”
        • ลำดับที่ 2: รหัสสาขา “BR0003”
        • ลำดับที่ 3: รหัสสาขา “BR0004”
        • ลำดับที่ 4: รหัสสาขา “BR0005”

        ข้อมูลในแต่ละลำดับของหลัก(column) จะระบุข้อมูลจำนวนของหนังสือเล่มต่างๆ

        • ลำดับที่ 0: รหัสหนังสือ “BK0005”
        • ลำดับที่ 1: รหัสหนังสือ “BK0007”
        • ลำดับที่ 2: รหัสหนังสือ “BK0008”
        • ลำดับที่ 3: รหัสหนังสือ “BK0011”
      • การสร้างเมทริกซ์ของข้อมูลโดยค่อยๆ เพิ่มข้อมูลเข้าไปโดยใช้ for…loop
        เราสามารถทำการสร้างเมทริกซ์ขนาด nxm ซึ่งมี n แถว, m หลัก ด้วยการวนลูปเพื่อค่อยๆ ใส่ข้อมูลลงไปได้ ซึ่งเริ่มต้นโดยการสร้างลิสต์ที่มีขนาดข้อมูล n(ซึ่งเป็นข้อมูลตั้งต้นสำหรับข้อมูลแต่ละแถว) จากนั้นทำการแทนค่าข้อมูลข้างต้นดังกล่าวด้วยลิสต์ซึ่งมีข้อมูลบรรจุอยู่จำนวน m ตัว(ซึ่งก็คือข้อมูลในแต่ละคอลัมน์ของแถวดังกล่าว)
        use for loop to create matrix from nested list
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # กำหนดตัวแปรเก็บข้อมูลจำนวนของแถว
        n = 5
        
        # กำหนดตัวแปรเก็บข้อมูลจำนวนของหลัก
        m = 6
        
        # ทำการสร้างข้อมูลตั้งต้นสำหรับแต่ละแถวเป็นจำนวน n แถว ซึ่งค่าตั้งต้นของข้อมูลแต่ละแถวคือ 0
        data = [0] * n
        print( data)
        # โปรแกรมทำการปรินต์ค่า
        # [0, 0, 0, 0, 0]
        
        # ทำการสร้างชุดข้อมูลแต่ละหลักเป็นจำนวน m หลัก ซึ่งจะเป็นลิสต์ของข้อมูลที่จะนำไปใช้แทนที่ค่าตั้งต้นของข้อมูลแต่ละแถว
        for i in range(n):
             data[i] = [1] * m
        
        # ทำการปรินท์ค่าข้อมูล
        print( data )
        # โปรแกรมทำการปรินต์ค่า
        # [[1, 1, 1, 1, 1, 1],
        #  [1, 1, 1, 1, 1, 1],
        #  [1, 1, 1, 1, 1, 1],
        #  [1, 1, 1, 1, 1, 1],
        #  [1, 1, 1, 1, 1, 1]] 
        
    2. การสร้างเมทริกซ์โดยใช้อาเรย์ซ้อนอยู่ภายในอาเรย์ โดยไลบรารี่ numpy
      สำหรับการสร้างเมทริกซ์โดยใช้ไลบรารี่ numpy นั้นจะใช้ข้อมูลชนิดอาเรย์ซ้อนในอาเรย์จากไลบรารี่ดังกล่าว สำหรับการจัดข้อมูลในโครงสร้างเมทริกซ์
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # เรียกใช้งานไลบรารี่ numpy
      import numpy as np
      
      # สร้างชุดข้อมูลตัวเลขตั้งแต่ 0 ถึง 19
      sequence_of_numbers = range(20)
      
      # ทำการจัดรูปแบบตัวเลขให้อยู่ในรูโครงสร้างเมทริกซ์ที่มีขนาด 5x4
      example_matrix = np.reshape( sequence_of_numbers, (5, 4) )
      print( example_matrix )
      # โปรแกรมทำการปรินต์ค่า
      # [[ 0  1  2  3]
      #  [ 4  5  6  7]
      #  [ 8  9 10 11]
      #  [12 13 14 15]
      #  [16 17 18 19]]
      
      
  2. การเข้าถึงข้อมูลในเมทริกซ์

    • การเข้าถึงข้อมูลโดยใช้ลำดับของข้อมูล
      เราสามารถเข้าถึงข้อมูลแต่ละตัวในโครงสร้างเมทริกซ์โดยอ้างอิงลำดับข้อมูลภายในเครื่องหมาย “[]” ตามหลังชื่อตัวแปร เช่นเดียวกันกับการใช้งานกับลิสต์ เช่น data[1][0] ในการเข้าถึงข้อมูลในแถวลำดับที่ 1 หลักลำดับที่ 0
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # เรียกใช้งานไลบรารี่ numpy
      import numpy as np
      
      # สร้างชุดข้อมูลตัวเลข
      sequence_of_numbers = range(20)
      
      # ทำการจัดรูปแบบตัวเลขให้อยู่ในโครงสร้างเมทริกซ์ที่มีขนาด 5x4
      example_matrix = np.reshape( sequence_of_numbers, (5, 4) )
      print( example_matrix )
      # โปรแกรมทำการปรินต์ค่า
      # [[ 0  1  2  3]
      #  [ 4  5  6  7]
      #  [ 8  9 10 11]
      #  [12 13 14 15]
      #  [16 17 18 19]]
      
      # เรียกดูข้อมูลของเมทริกซ์ทั้งหมดจากแถวลำดับที่ 1 
      print( example_matrix[1] )
      # โปรแกรมทำการปรินต์ค่า
      # [ 4  5  6  7]
      
      # เรียกดูข้อมูลของเมทริกซ์ทั้งหมดจากแถวลำดับที่ 3
      print( example_matrix[3] )
      # โปรแกรมทำการปรินต์ค่า
      # [12 13 14 15]
      
      # เรียกดูข้อมูลของเมทริกซ์จากแถวลำดับที่ 0 หลักลำดับที่ 1
      print( example_matrix[0][1] )
      # โปรแกรมทำการปรินต์ค่า
      # 1
      
      # เรียกดูข้อมูลของเมทริกซ์จากแถวลำดับที่ 0 หลักลำดับที่ 2
      print( example_matrix[0][2] )
      # โปรแกรมทำการปรินต์ค่า
      # 2
      
      # เรียกดูข้อมูลของเมทริกซ์จากแถวที่ 2 หลักที่ 2
      print( example_matrix[2][2] )
      # โปรแกรมทำการปรินต์ค่า
      # 10
      
      
    • การเข้าถึงข้อมูลในเมทริกซ์เป็นช่วงของข้อมูล
      เราสามารถเข้าถึงข้อมูลแต่ละตัวในเมทริกซ์เป็นช่วงของข้อมูล เช่นเดียวกับการใช้งานในลิสต์ เช่น จากตารางข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้าในสาขาต่างๆ เราต้องการดูข้อมูลหนังสือคงเหลือทั้งหมดในสาขาหมายเลข “BR0001” และ “BR00002” โดยในตัวอย่างนี้เราจะใช้ไลบรารี่ numpy เพื่อเข้าถึงข้อมูลภายในเมทริกซ์
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # เรียกใช้งานไลบรารี่ numpy
      import numpy as np
      
      # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลอาเรย์ซ้อนอยู่ภายในอาเรย์
      # ด้วยไลบรารี่ numpy เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูล
      # จำนวนหนังสือที่คงเหลือในคลังสินค้าของร้านจากสาขาต่างๆ 
      books_in_stores = np.array( [ [5, 0, 5, 2], 
                                 [2, 5, 2, 3], 
                                 [10, 8, 8, 5],
                                 [0, 5, 1, 6],
                                 [8, 9, 2, 0] ] )
      
      # ทำการเรียกดูข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้าทั้งหมดจากสาขาหมายเลข "BR0001" และ "BR00002"
      first_two_branches = books_in_stores[0:2,:]
      print( first_two_branches )
      # โปรแกรมทำการปรินต์ค่า
      # [[5 0 5 2]
      #  [2 5 2 3]]
      
      # ทำการเรียกดูข้อมูลจำนวนหนังสือรหัส "BK0001" และ "BK0003" ที่คงเหลือในคลังสินค้าทั้งหมดจากทุกสาขา
      first_two_books = books_in_stores[:,0:2]
      print( first_two_books )
      # โปรแกรมทำการปรินต์ค่า
      # [[ 5  0]
      #  [ 2  5]
      #  [10  8]
      #  [ 0  5]
      #  [ 8  9]]
      
      # ทำการเรียกดูข้อมูลจำนวนหนังสือรหัส "BK0008" ที่คงเหลือในคลังสินค้าทั้งหมดจากทุกสาขา
      bk0008_in_all_branches = books_in_stores[:,2]
      print( bk0008_in_all_branches )
      # โปรแกรมทำการปรินต์ค่า
      # [5 2 8 1 2]
      
      

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

      books_in_stores[:,2]
      “:” เป็นการระบุว่าเราต้องการดูข้อมูลโดยไม่ระบุจุดเริ่มต้นและจุดสิ้นสุดของแถว จึงทำการเรียกดูข้อมูลทุกแถว
      “2” เป็นการระบุว่าต้องการดูข้อมูลจากหลักลำดับที่ 2 เท่านั้น
  3. การเปลี่ยนแปลงข้อมูลในเมทริกซ์
    เราสามารถใช้เครื่องหมายดำเนินการ “=” เพื่อจะทำการกำหนดค่าข้อมูลใหม่ในเมทริกซ์ เช่นเดียวกับการใช้งานในลิสต์
    ตัวอย่างการใช้งาน

    # -*- coding: utf-8 -*-
    
    # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์
    # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์แทน โดยทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้า
    # ของร้านจากสาขาต่างๆ
    books_in_stores = [[5, 0, 5, 2], 
                       [2, 5, 2, 3], 
                       [10, 8, 8, 5],
                       [0, 5, 1, 6],
                       [8, 9, 2, 0]] 
    
    # ทำการปรินท์ค่าข้อมูล
    print( books_in_stores )
    # โปรแกรมทำการปรินต์ค่า
    # [[5, 0, 5, 2], 
    #  [2, 5, 2, 3], 
    #  [10, 8, 8, 5],
    #  [0, 5, 1, 6],
    #  [8, 9, 2, 0]]
    
    # ทำการแก้ไขข้อมูลจำนวนหนังสือรหัส "BK0008" ในร้านหนังสือสาขา "BR0001"
    books_in_stores[0][2] = 8
    
    # ทำการปรินท์ค่าข้อมูล
    print( books_in_stores )
    # โปรแกรมทำการปรินต์ค่า
    # [[5, 0, 8, 2], 
    #  [2, 5, 2, 3], 
    #  [10, 8, 8, 5],
    #  [0, 5, 1, 6],
    #  [8, 9, 2, 0]]
    
    # ทำการดึงข้อมูลจำนวนหนังทั้งหมด ในร้านหนังสือสาขา "BR0003"
    br0003_books = books_in_stores[2]
    
    # ทำการแก้ไขข้อมูลจำนวนหนังสือรหัส "BK0011" ในร้านหนังสือสาขา "BR0003"
    br0003_books[3] = 3
    
    # ทำการปรินท์ค่าข้อมูล
    print( books_in_stores )
    # โปรแกรมทำการปรินต์ค่า
    # [[5, 0, 8, 2], 
    #  [2, 5, 2, 3], 
    #  [10, 8, 8, 3],
    #  [0, 5, 1, 6],
    #  [8, 9, 2, 0]]
    
    
  4. การเพิ่มข้อมูลใหม่เข้าไปในเมทริกซ์

    • การเพิ่มข้อมูลให้กับเมทริกซ์โดยใช้เครื่องหมายดำเนินการ “+”
      เราสามารถทำการเพิ่มข้อมูลให้กับเมทริกซ์โดยใช้เครื่องหมายดำเนินการ “+” เพื่อทำการเพิ่มข้อมูลใหม่ หรือรวมข้อมูลเข้าด้วยกัน
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์
      # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์แทน โดยทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้า
      # ของร้านจากสาขาต่างๆ
      books_in_stores =  [[5, 0, 5, 2], 
                          [2, 5, 2, 3], 
                          [10, 8, 8, 5],
                          [0, 5, 1, 6]] 
      
      # ทำการเพิ่มข้อมูลจำนวนหนังสือของสาขาใหม่ให้กับเมทริกซ์ โดยใช้เครื่องหมายดำเนินการ "+"
      books_in_stores = books_in_stores + [[8, 9, 2, 0]]
      
      print(books_in_stores)
      # โปรแกรมทำการปรินต์ค่า
      # [[5, 0, 5, 2], 
      #  [2, 5, 2, 3], 
      #  [10, 8, 8, 5],
      #  [0, 5, 1, 6],
      #  [8, 9, 2, 0]]
      
      

      จากตัวอย่างข้างต้น เป็นการเพิ่มข้อมูลจำนวนหนังสือทั้งหมดสำหรับสาขาใหม่โดยใช้เครื่องหมายดำเนินการ “+” โดยในตัวอย่างข้อมูล [8, 9, 2, 0] จะถูกเพิ่มเข้าไปในเมทริกซ์เป็นแถวใหม่ซึ่งอยู่ถัดจากลำดับของข้อมูลแถวสุดท้ายที่มีอยู่เดิมภายในเมทริกซ์

    • เพิ่มข้อมูลใหม่ลงไปในเมทริกซ์โดยใช้ฟังก์ชัน append() จากไลบรารี่ numpy
      เราสามารถเพิ่มข้อมูลใหม่ลงไปในเมทริกซ์โดยใช้ฟังก์ชัน append() ซึ่งเป็นฟังก์ชันจากไลบรารี่ numpy
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # เรียกใช้งานไลบรารี่ numpy
      import numpy as np
      
      # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลอาเรย์ซ้อนอยู่ภายในอาเรย์
      # ด้วยไลบรารี่ numpy เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูล
      # จำนวนหนังสือที่คงเหลือในคลังสินค้าของร้านจากสาขาต่างๆ 
      books_in_stores = np.array( [[5, 0, 5, 2], 
                                [2, 5, 2, 3], 
                                [10, 8, 8, 5],
                                [0, 5, 1, 6],
                                [8, 9, 2, 0]] )
      
      # ทำการเพิ่มข้อมูลจำนวนหนังสือของสาขาใหม่ให้กับเมทริกซ์ ด้วยฟังก์ชัน append จากไลบรารี่ numpy
      books_in_stores = np.append( arr=books_in_stores, 
                                    values=[[11, 8, 12, 10]], 
                                     axis=0)
      
      # ทำการปรินค์ค่าข้อมูล
      print( books_in_stores )
      # โปรแกรมทำการปรินต์ค่า
      # [[ 5  0  5  2]
      #  [ 2  5  2  3]
      #  [10  8  8  5]
      #  [ 0  5  1  6]
      #  [ 8  9  2  0]
      #  [11  8 12 10]] 
      
      

      จากตัวอย่างข้างต้น เราได้ทำการเพิ่มข้อมูลแถวใหม่ให้กับเมทริกซ์เดิมโดยฟังก์ชัน append() จากไลบรารี่ของ numpy โดยฟังก์ชันดังกล่าวจะรับข้อมูลอาเรย์ที่จะทำการเพิ่มข้อมูล, ค่าข้อมูลที่ต้องการใส่เพิ่ม และแกนที่ต้องการใส่ข้อมูลดังกล่าวลงไป โดยรายละเอียดคำสั่งมีดังนี้

      np.append( arr=books_in_stores, values=[[11, 8, 12, 10]], axis=0)
      arr=books_in_stores คือ อาเรย์ทีจะทำการเพิ่มข้อมูล
      values=[[11, 8, 12, 10]] คือ ค่าของข้อมูลที่ทำการเพิ่มเข้าไป
      axis=0 คือ แกนที่จะเพิ่มข้อมูลลงไปโดย 0 จะระบุว่าเป็นแถว และ 1 ระบุุว่าเป็นหลัก

      ดังนั้นในตัวอย่าง เราทำการเพิ่มข้อมูลแถวใหม่ลงไปซึ่งมีชุดข้อมูลเป็น [11, 8, 12, 10] โดยเพิ่มข้อมูลดังกล่าวลงไปให้กับเมทริกซ์ books_in_stores

    • เพิ่มข้อมูลใหม่ลงไปในเมทริกซ์โดยใช้ฟังก์ชัน insert() จากไลบรารี่ numpy
      เราสามารถเพิ่มข้อมูลใหม่ลงไปตรงตำแหน่งที่ต้องการในเมทริกซ์โดยใช้ฟังก์ชัน insert() ซึ่งเป็นฟังก์ชันของไลบรารี่ numpy
      ตัวอย่างการใช้งาน

      # -*- coding: utf-8 -*-
      
      # เรียกใช้งานไลบรารี่ numpy
      import numpy as np
      
      # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลอาเรย์ซ้อนอยู่ภายในอาเรย์
      # ด้วยไลบรารี่ numpy เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูล
      # จำนวนหนังสือที่คงเหลือในคลังสินค้าของร้านจากสาขาต่างๆ 
      books_in_stores = np.array( [[5, 0, 5, 2], 
                                [2, 5, 2, 3], 
                                [10, 8, 8, 5],
                                [0, 5, 1, 6],
                                [8, 9, 2, 0]] )
      
      # ทำการเพิ่มข้อมูลจำนวนหนังสือเล่มใหม่เข้าไปเป็นข้อมูลให้กับร้านหนังสือในทุกสาขา
      books_in_stores = np.insert( arr=books_in_stores, 
                                    obj=[4], 
                                     values=[[5], [3], [10], [5], [8]], 
                                      axis=1)
      
      # ทำการปรินค์ค่าข้อมูล
      print( books_in_stores )
      # โปรแกรมทำการปรินต์ค่า
      # [[ 5  0  5  2  5]
      #  [ 2  5  2  3  3]
      #  [10  8  8  5 10]
      #  [ 0  5  1  6  5]
      #  [ 8  9  2  0  8]]
      
      

      จากตัวอย่างข้างต้น เราได้ทำการเพิ่มข้อมูลแถวใหม่ให้กับเมทริกซ์เดิมโดยฟังก์ชัน insert() จากไลบรารี่ของ numpy โดยฟังก์ชันดังกล่าวจะรับข้อมูล อาเรย์ที่จะทำการเพิ่มข้อมูล, ตำแหน่งที่ต้องการเพิ่มข้อมูล, ค่าข้อมูลที่ต้องการใส่เพิ่ม และแกนที่ต้องการใส่ข้อมูลดังกล่าวลงไป

      np.insert( arr=books_in_stores, obj=[4], values=[[5], [3], [10], [5], [8]], axis=1)
      arr=books_in_stores คือ อาเรย์ที่จะทำการเพิ่มข้อมูล
      obj=[4] คือ ระบุตำแหน่งทีจะทำการเพิ่มข้อมูล
      values=[[5], [3], [10], [5], [8]] คือ ค่าของข้อมูลที่ทำการเพิ่มเข้าไป
      axis=1 คือ แกนที่จะเพิ่มข้อมูลลงไป โดย 1 จะระบุว่าเป็นแถว และ 1 ระบุุว่าเป็นหลัก
  5. ทำการลบข้อมูลออกจากเมทริกซ์

    1. การลบข้อมูลออกจากแถว(row)ของเมทริกซ์

      • การลบข้อมูลออกจากแถว(row)ของเมทริกซ์ โดยใช้คีย์เวิร์ด del
        เราสามารถใช้คีย์เวิร์ด del ในการลบข้อมูลแต่ละแถวออกจากเมทริกซ์ เช่นเดียวกับที่ใช้งานในลิสต์
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์
        # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือ
        # ในคลังสินค้าของร้านจากสาขาต่างๆ 
        books_in_stores = [[5, 0, 5, 2], 
                           [2, 5, 2, 3], 
                           [10, 8, 8, 5],
                           [0, 5, 1, 6]]
        
        # ทำการลบข้อมูลจำนวนหนังสือทั้งหมดของสาขา "BR0002" ออกจากเมทริกซ์
        del books_in_stores[1]
        
        # ทำการปรินต์ค่าข้อมูล
        print(books_in_stores)
        # โปรแกรมทำการปรินต์ค่า
        # [[5, 0, 5, 2],  
        #  [10, 8, 8, 5],
        #  [0, 5, 1, 6]]
        
        
      • การลบข้อมูลออกจากแถว(row)ของเมทริกซ์ โดยใช้ฟังก์ชัน delete() จากไลบรารี numpy
        เราสามารถใช้ฟังก์ชัน delete() จากไลบรารี numpy ในการลบข้อมูลออกจากเมทริกซ์ เช่นเดียวกับการใช้งานในอาเรย์ของไลบรารีดังกล่าว
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # เรียกใช้งานไลบรารี่ numpy
        import numpy as np
        
        # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลอาเรย์ซ้อนอยู่ภายในอาเรย์
        # ด้วยไลบรารี่ numpy เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูล
        # จำนวนหนังสือที่คงเหลือในคลังสินค้าของร้านจากสาขาต่างๆ 
        books_in_stores = np.array( [[5, 0, 5, 2], 
                                     [2, 5, 2, 3], 
                                     [10, 8, 8, 5],
                                     [0, 5, 1, 6]] )
        
        # ทำการลบข้อมูลจำนวนหนังสือทั้งหมดของสาขา "BR0002" ออกจากเมทริกซ์
        # โดยใช้ฟังก์ชัน delete() จากไลบรารี่ numpy
        books_in_stores = np.delete( arr=books_in_stores, 
                                      obj=[1], 
                                       axis=0 )
        
        # ทำการปรินต์ค่าข้อมูล
        print(books_in_stores)
        # โปรแกรมทำการปรินต์ค่า
        # [[ 5  0  5  2]
        #  [10  8  8  5]
        #  [ 0  5  1  6]]
        
        
        delete( books_in_stores, [1], 0)
        books_in_stores คือ การระบุว่าต้องทำการลบข้อมูลในเมทริกซ์ books_in_stores
        obj=[1] คือ ทำการระบุตำแหน่งที่ต้องการลบข้อมูล
        1 คือ ระบุแกนที่จะทำการลบข้อมูลโดย 0 แทนการระบุแถว และ 1 แทนการระบุหลัก

        ดังนั้น จึงต้องการทำการลบข้อมูลออกจากตัวแปร books_in_stores โดยลบข้อมูลในแถวซึ่งอยู่ลำดับที่ 1 ออก ซึ่งก็คือข้อมูลของร้านหนังสือสาขาหมายเลข “BK0002”

    2. การลบข้อมูลออกจากคอลัมน์(column)ของเมทริกซ์

      • การลบข้อมูลออกจากคอลัมน์(column) โดยใช้คีย์เวิร์ด del
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์
        # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือ
        # ในคลังสินค้าของร้านจากสาขาต่างๆ 
        books_in_stores = [[5, 0, 5, 2], 
                           [2, 5, 2, 3], 
                           [10, 8, 8, 5],
                           [0, 5, 1, 6]]
        
        # ทำการลบข้อมูลจำนวนหนังสือจากหลักลำดับที่ 2 ไปถึงลำดับก่อนลำดับที่ 4("BK0008", "BK0011") ออกจากเมทริกซ์
        for branch_books in books_in_stores: 
        	del branch_books[2:4]
        
        # ทำการปรินต์ค่าข้อมูล
        print(books_in_stores)
        # โปรแกรมทำการปรินต์ค่า
        # [[5, 0], 
        #  [2, 5], 
        #  [10, 8],
        #  [0, 5]]
        
        
      • การลบข้อมูลออกจากคอลัมน์(column) โดยใช้ฟังก์ชัน delete() จากไลบรารี่ numpy
        ตัวอย่างการใช้งาน

        # -*- coding: utf-8 -*-
        
        # เรียกใช้งานไลบรารี่ numpy
        import numpy as np
        
        # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลซ้อนอยู่ภายในอาเรย์
        # ด้วยไลบรารี่ numpy เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์ โดยตัวแปรดังกล่าวทำการเก็บข้อมูล
        # จำนวนหนังสือที่คงเหลือในคลังสินค้าของร้านจากสาขาต่างๆ 
        books_in_stores = np.array( [[5, 0, 5, 2], 
                                     [2, 5, 2, 3], 
                                     [10, 8, 8, 5],
                                     [0, 5, 1, 6]] )
        
        # ทำการลบข้อมูลจำนวนหนังสือจากลำดับที่ 2 และอีกเล่มถัดไป("BK0008", "BK0011") ออกจากเมทริกซ์
        books_in_stores = np.delete( arr=books_in_stores, 
        			      obj=np.s_[2::1], 
        				axis=1 )
        
        # ทำการปรินต์ค่าข้อมูล
        print(books_in_stores)
        # โปรแกรมทำการปรินต์ค่า
        # [[ 5  0]
        #  [ 2  5]
        #  [10  8]
        #  [ 0  5]]
        
        
        delete( books_in_stores, s_[2::1], 1)
        books_in_stores คือ การระบุว่าต้องทำการลบข้อมูลในเมทริกซ์ books_in_stores
        s_[2::1] คือ ทำการลบข้อมูลตั้งหลักลำดับที่ 2 และถัดไปอีก 1 ตัว
        1 คือ ระบุแกนที่จะทำการลบข้อมูลโดย 0 แทนการระบุแถว และ 1 แทนการระบุหลัก

        ดังนั้น จึงต้องทำการลบข้อมูลออกจากเมทริกซ์ books_in_stores โดยลบข้อมูลออกตั้งแต่หลักที่ 2, 3 ซึ่งก็คือข้อมูลหนังสือรหัส “BK0008” และ “BK0011”

    ที่มาของข้อมูล: https://www.programiz.com/python-programming/matrix
    ที่มาของข้อมูล: https://www.programiz.com/python-programming/matrix

ที่มาของข้อมูล: https://www.programiz.com/python-programming/matrix