Numpy Tạo mảng 2D

Numpy Tao Mang 2d



Mảng Numpy hai chiều được xác định từ danh sách các danh sách python. Cũng giống như mảng Numpy một chiều, tất cả các phần tử trong mảng phải thuộc một kiểu duy nhất. Nếu một mảng NumPy được khai báo với danh sách nhiều kiểu, thì việc cưỡng chế kiểu sẽ xảy ra và tất cả các giá trị sẽ được chuyển đổi thành một kiểu duy nhất. Kiểu cưỡng chế là kiểu mà các kiểu dữ liệu được chuyển đổi từ kiểu này sang kiểu khác, nó là ngầm định hoặc tự động. Trong mảng hai chiều, kích thước có thể nhiều hơn hai.

Nói một cách đơn giản, chúng ta có thể định nghĩa mảng hai chiều là một mảng trong một mảng khác. Chỉ mục của nó bắt đầu bằng “0” và kết thúc ở kích thước của mảng “-1”. Mảng có thể được xây dựng n lần trong mảng. Một mảng hai chiều có thể thay đổi kích thước theo cả chiều dọc và chiều ngang, theo cả hai hướng.

Cú pháp

Cú pháp khai báo một mảng như sau:







tên_mảng = [ r_arr ] [ c_arr ]

array_name là tên của mảng mà chúng ta muốn tạo. Trong khi, “r_arr” là các hàng của mảng và “c_arr” là cột của mảng. Cú pháp này cho phép chúng ta tạo vị trí bộ nhớ nơi mảng sẽ được lưu trữ, hoặc chúng ta có thể nói rằng vị trí bộ nhớ có thể được dành riêng cho mảng.



Có một phương pháp khác để khai báo một mảng 2D:



tên_mảng = [ [ R1C1 , R1C2 , R1C3 , ... ] , [ R2C2 , R2C2 , R2C3 , ... ] , . . .. ]

Trong cú pháp trên, tên mảng là tên của mảng trong đó “R1C1”, “R2C1”,… n là các phần tử của mảng trong đó “R” biểu thị hàng và “c” biểu thị cột. Như chúng ta có thể thấy trong dấu ngoặc vuông đầu tiên, số lượng hàng đang thay đổi trong khi các cột giống nhau. Điều này là do, trong mảng, chúng tôi xác định các cột bằng cách sử dụng nhiều mảng trong khi các hàng được xác định bên trong các mảng bên trong.





Ví dụ # 01: Tạo mảng hai chiều

Hãy để chúng tôi đưa ra một ví dụ thực tế về việc tạo mảng hai chiều và hiểu rõ hơn về cách tạo mảng hai chiều. Để tạo một mảng 2D, trước tiên chúng ta sẽ nhập thư viện NumPy của chúng ta, thư viện này sẽ cho phép chúng ta triển khai một số gói mà NumPy cung cấp cho chúng ta để tạo mảng. Tiếp theo, chúng ta sẽ khởi tạo một biến giữ mảng hai chiều để tạo mảng. Chúng ta sẽ chuyển hàm np.array () cho phép hai chúng ta tạo bất kỳ loại mảng nào cho dù đó là 1D, 2D, v.v. Đối với hàm đó, chúng ta sẽ truyền nhiều mảng trong mảng này, cho phép chúng ta tạo một mảng 2 chiều.

Như chúng ta có thể thấy trong ảnh chụp màn hình bên dưới, ở dòng thứ hai, chúng tôi đã chuyển ba mảng cho hàm đó, nghĩa là chúng tôi có ba hàng và trong các mảng đó, chúng tôi đã chuyển 6 phần tử cho mỗi mảng có nghĩa là có 6 cột. Một điều cần lưu ý, là chúng ta luôn chuyển các phần tử trong dấu ngoặc vuông có nghĩa là chúng ta đang chuyển các phần tử của mảng và chúng ta có thể thấy rằng chúng ta đã chuyển nhiều mảng trong một mảng.



nhập khẩu numpy như ví dụ.

mảng = ví dụ. mảng ( [ [ 1 , hai , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , số 8 , 9 ] , [ 7 , số 8 , 9 , 10 , mười một , 12 ] ] )

in ( mảng )

Cuối cùng, chúng tôi đã in mảng bằng cách sử dụng một câu lệnh in. Như thể hiện trong ảnh chụp màn hình bên dưới, chúng ta có thể thấy mảng được hiển thị bao gồm 3 hàng và 6 cột.

Ví dụ # 02: Truy cập các Giá trị

Khi chúng ta nghiên cứu phương pháp tạo mảng 2D, chắc hẳn chúng ta đã nhấp vào một điều: làm thế nào chúng ta có thể truy cập các phần tử của mảng 2D? Trong khi truy cập phần tử của mảng 2D không phải là một vấn đề lớn. Numpy cho phép chúng ta thao tác các phần tử của mảng bằng một dòng mã đơn giản:

Mảng [ chỉ số hàng ] [ chỉ số cột ]

Mảng là tên của mảng mà từ đó chúng ta phải truy cập hoặc tìm nạp dữ liệu trong đó chỉ mục hàng là vị trí bộ nhớ của hàng. Và chỉ mục cột là vị trí của cột được truy cập, giả sử chúng ta phải truy cập phần tử chỉ mục “2” của hàng và chỉ mục phần tử “0” của một cột.

Như chúng ta có thể thấy trong hình bên dưới, đầu tiên chúng ta đã nhập thư viện NumPy để truy cập các gói của NumPy. Sau đó, chúng tôi khai báo tên biến “mảng” chứa mảng 2D và sau đó chuyển cho nó các giá trị mà chúng tôi muốn lưu trữ trong đó. Đầu tiên, chúng tôi hiển thị mảng như nó là mảng mà chúng tôi đã khởi tạo. Sau đó, chúng tôi chuyển mảng có chỉ mục vào câu lệnh print () của chúng tôi, câu lệnh này sẽ hiển thị toàn bộ mảng được lưu trữ ở chỉ mục “2”. Trong dòng mã tiếp theo, chúng ta lại chuyển mảng có hai chỉ mục vào câu lệnh print (). Đầu tiên là hàng của mảng và thứ hai là cột của mảng là “0” và “2”.

nhập khẩu numpy như ví dụ.

mảng = ví dụ. mảng ( [ [ 1 , hai , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , số 8 , 9 ] , [ 7 , số 8 , 9 , 10 , mười một , 12 ] ] )

in ( 'Hiển thị mảng:' , mảng )

in ( 'Hiển thị hàng thứ hai:' , mảng [ hai ] )

in ( 'Hiển thị phần tử hàng đầu tiên và 2 cột:' , mảng [ 0 ] [ hai ] )

Kết quả sau được trả về trong khi chạy trình biên dịch mã in mảng như nó vốn có. Sau đó, hàng thứ hai theo mã. Cuối cùng, trình biên dịch trả về phần tử được lưu trữ ở chỉ mục “0” cho các hàng và chỉ mục “2” cho cột.

Ví dụ # 03: Cập nhật các Giá trị

Chúng ta đã thảo luận về phương pháp luận về cách chúng ta có thể tạo hoặc truy cập dữ liệu hoặc phần tử trong mảng 2D, nhưng khi chúng ta phải thay đổi các phần tử của mảng, chúng ta có thể chỉ cần sử dụng phương pháp được cung cấp bởi các gói NumPy cho phép chúng ta để cập nhật giá trị mong muốn trong một mảng.

Để cập nhật giá trị, chúng tôi sử dụng:

mảng [ row_index ] [ column_index ] = [ giá trị ]

Trong cú pháp trên, mảng là tên của mảng. Chỉ mục hàng là địa điểm hoặc vị trí mà chúng tôi sẽ chỉnh sửa. Chỉ mục cột là vị trí của cột mà tại đó giá trị được cập nhật, trong đó giá trị là giá trị cần được thêm vào chỉ mục mong muốn.

Như chúng ta có thể thấy, trước tiên chúng ta nhập thư viện NumPy của mình. Và sau đó khai báo một mảng có kích thước 3 × 6 và truyền các giá trị nguyên của nó. Sau đó, chúng tôi đã chuyển giá trị “21” vào mảng có nghĩa là chúng tôi muốn lưu trữ giá trị “21” trong mảng ở “0” của một hàng và “2” của một cột, có nghĩa là chúng tôi muốn lưu trữ nó ở chỉ mục của hàng đầu tiên và 3 rd cột của mảng. Sau đó in cả hai mảng, mảng ban đầu và cả phần tử mà chúng ta đã lưu trữ trong mảng.

nhập khẩu numpy như ví dụ.

mảng = ví dụ. mảng ( [ [ 1 , hai , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , số 8 , 9 ] , [ 7 , số 8 , 9 , 10 , mười một , 12 ] ] )

mảng [ 0 ] [ hai ] = hai mươi mốt

in ( 'Hiển thị mảng:' , mảng )

in ( 'Hiển thị phần tử hàng đầu tiên và 2 cột:' , mảng [ 0 ] [ hai ] )

Như được hiển thị bên dưới, giá trị được cập nhật thành công trong mảng chỉ bằng cách thêm một dòng mã đơn giản được cung cấp bởi gói NumPy.

Sự kết luận

Trong bài viết này, chúng tôi đã giải thích các cách khác nhau để tạo mảng hai chiều và cách chúng tôi có thể thao tác chúng bằng các hàm tích hợp của NumPy. Chúng tôi đã thảo luận về cách chúng tôi có thể truy cập các phần tử trong mảng và cập nhật chúng. Numpy cho phép chúng tôi tạo và thao tác các mảng đa chiều bằng một dòng mã. Mảng Numpy rõ ràng và hiệu quả hơn danh sách python.