Mảng được lập chỉ mục trong Python

Vì vậy, nếu chúng tôi sửa đổi mảng ban đầu, chế độ xem cũng được sửa đổi. Tương tự, nếu chúng ta sửa đổi khung nhìn, mảng ban đầu cũng được sửa đổi

ví dụ 1. Sửa đổi slice1 cũng sẽ sửa đổi mảng ban đầu

print [two_d[[1,2]]]
#Output: 5
print [two_d[1,2]]
#Output: 5
9

two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
6

ví dụ 2. Sửa đổi mảng ban đầu cũng sẽ sửa đổi mảng được tạo bằng cách cắt cơ bản

two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
7

Ghi chú. Cắt lát

x[i,j]
or
x[[i,j]]
6 tạo ra một dạng xem thay vì một bản sao như trong trường hợp các chuỗi Python dựng sẵn như chuỗi, bộ dữ liệu và danh sách. Phải cẩn thận khi trích xuất một phần nhỏ từ một mảng lớn, phần này trở nên vô dụng sau khi trích xuất vì phần nhỏ được trích xuất chứa tham chiếu đến mảng ban đầu lớn hơn mà bộ nhớ của nó sẽ không được giải phóng cho đến khi tất cả các mảng bắt nguồn từ nó được thu gom rác. Trong những trường hợp như vậy, nên sử dụng một
print [two_d[[1]]]
#Output:[3 4 5]
1 rõ ràng. -Tài liệu Python

ví dụ 3. Chỉ mục bắt đầu và dừng bị bỏ qua mặc định là chỉ mục đầu tiên và chỉ mục cuối cùng của mảng. Bước âm biểu thị hướng ngược lại

two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
8

Hình ảnh của tác giả

2. Cắt mảng hai chiều

Bằng cách cắt một mảng hai chiều ở cả hai trục, chúng ta có thể nhận được một tập hợp con của mảng ban đầu

print [two_d[[1]]]
#Output:[3 4 5]
2

tôi. j. k → Cắt dọc theo trục x [hàng]
l. m. n → lát dọc theo trục y[cột]

Ví dụ 1.
______43 →Chọn các phần tử từ hàng 1 đến hàng cuối cùng và cột 1 đến cột cuối cùng.

Hình ảnh của Tác giả
two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
9

Ví dụ 2.
______44 → Chọn các phần tử từ hàng 0 đến hàng 2[không bao gồm] và cột 1 cho đến cột cuối cùng.

0. 2 → Lát cho trục x → chọn hàng 0 cho đến hàng 2 [không bao gồm]
1. → Cắt theo trục y → chọn cột 1 cho đến cột cuối cùng

Hình ảnh của Tác giả
x[i,j]
or
x[[i,j]]
0

Ví dụ 3.
______45

print [two_d[[1]]]
#Output:[3 4 5]
6 →Chọn hàng 1 cho đến hàng cuối cùng
print [two_d[[1]]]
#Output:[3 4 5]
7 → Chọn các cột từ cột 1 đến cột cuối cùng ở bước 2

Hình ảnh của Tác giả
x[i,j]
or
x[[i,j]]
1

3. Cắt mảng ba chiều

Bằng cách cắt mảng ba chiều dọc theo ba trục, chúng ta có thể chọn một tập hợp con của mảng ban đầu

print [two_d[[1]]]
#Output:[3 4 5]
8

a. b. c →Cắt mặt phẳng
i. j. k → Cắt các hàng
l. m. n → Cắt các cột

Ví dụ 1.
______49
. → Chọn tất cả các mặt phẳng
. → Chọn tất cả các hàng
1. → Chọn các cột từ cột 1 đến cột cuối cùng

Hình ảnh của Tác giả
x[i,j]
or
x[[i,j]]
2

Chỉ mục ngoài phạm vi

Các chỉ mục nằm ngoài phạm vi được xử lý một cách duyên dáng bằng cách cắt

x[i,j]
or
x[[i,j]]
3

Lập chỉ mục nâng cao

Lập chỉ mục mảng số nguyên

Lập chỉ mục mảng số nguyên cho phép lựa chọn các mục tùy ý trong mảng dựa trên chỉ mục N chiều của chúng. Mỗi mảng số nguyên đại diện cho một số chỉ mục vào thứ nguyên đó- Tài liệu Python

ví dụ 1. mảng hai chiều

two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
90

Hình ảnh của tác giả

Đối với mỗi hàng, một phần tử cụ thể sẽ được chọn.
row_index → ​​[0,1,2] → chỉ mục hàng chỉ định hàng sẽ được chọn
column_index →[0,1,2] → chỉ mục cột chỉ định phần tử

Hình ảnh của Tác giả
x[i,j]
or
x[[i,j]]
4

ví dụ 2. mảng ba chiều

two_d=np.array[[[0,1],[2,3],[4,5]]]
print [two_d]
#Output:
[[0 1]
[2 3]
[4 5]]
91
Kết quả sẽ là nó sẽ chọn các phần tử từ [ mặt phẳng 0,hàng 0,cột 0] và [mặt phẳng 1,hàng1,cột 1].

Hình ảnh của Tác giả
x[i,j]
or
x[[i,j]]
5

Liên kết Github

Mã được sử dụng ở đây có sẵn dưới dạng Jupyter Notebook trên Github

Phần kết luận
  • Trong lập chỉ mục cơ bản, các chỉ mục nằm ngoài phạm vi sẽ tăng IndexError
  • Trong cắt lát cơ bản, các chỉ mục nằm ngoài phạm vi được xử lý một cách duyên dáng
  • Tất cả các mảng được tạo bằng cách cắt cơ bản là dạng xem của mảng ban đầu
  • Trong lập chỉ mục cơ bản, x[i,j,k] tương đương với x[[i,j,k]]
  • Trong thao tác cắt lát cơ bản, chúng ta không nên sử dụng một bộ đối tượng lát cắt.
    a[1. ,1. ] → đúng
    a[[1. ,1. ]] → sai
  • Lát cắt đầy đủ sẽ chọn toàn bộ mặt phẳng/hàng/cột dựa trên các trục được đề cập.
    a[. ] → Nó sẽ chọn tất cả các hàng trong mảng một chiều
    a[1,. ] →Nó sẽ chọn tất cả các cột trong hàng 1 trong một mảng hai chiều
    a[. ,1,1] →Nó sẽ chọn hàng 1 và cột 1 trong tất cả các mặt phẳng trong mảng ba chiều
  • Đối với chỉ mục theo sau, chỉ mục bị bỏ qua đại diện cho một phần đầy đủ
    a[1] giống như a[1,. ] trong mảng hai chiều
    a[1,1] giống như a[1,1,. ] trong mảng ba chiều

Tài nguyên [Tài liệu Python]

Lập chỉ mục và cắt lát

lượt xem

Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter

Một mảng được lập chỉ mục là gì?

Định nghĩa và cách sử dụng. Chỉ một chuỗi giá trị được phân tách bằng dấu phẩy thay vì khóa=>cặp giá trị . Mỗi phần tử trong bộ sưu tập như vậy có một chỉ mục vị trí duy nhất bắt đầu từ 0. Do đó, nó được gọi là mảng được lập chỉ mục.

Các mảng Python 1 có được lập chỉ mục không?

danh sách python được lập chỉ mục 0 . Vì vậy, phần tử đầu tiên là 0, thứ hai là 1, v.v. Vì vậy, nếu có n phần tử trong danh sách, phần tử cuối cùng là n-1.

Python 1 hay 0 được lập chỉ mục?

Python sử dụng lập chỉ mục dựa trên số không . Điều đó có nghĩa là, phần tử đầu tiên [giá trị 'đỏ'] có chỉ số 0, phần tử thứ hai [giá trị 'xanh lá cây'] có chỉ số 1, v.v.

Lập chỉ mục mảng bắt đầu từ đâu trong Python?

Chỉ mục danh sách bắt đầu bằng 0 trong Python. Vì vậy, giá trị chỉ mục của 1 là 0, 'hai' là 1 và 3 là 2.

Chủ Đề