Sao chép một phần của mảng python

Trong bài viết này, chúng ta sẽ thảo luận về cách chọn một phần tử hoặc một mảng con từ Mảng Numpy theo chỉ mục

Hãy tạo một Mảng Numpy bằng cách sử dụng numpy. sắp xếp[]

# Create a numpy ndArray
npArray = np.arange[1, 20, 2]

print[npArray]

Nội dung của Mảng Numpy như sau,
[ 1  3  5  7  9 11 13 15 17 19]

Bây giờ hãy thảo luận về cách chọn các phần tử từ Mảng Numpy này theo chỉ mục.

Chọn một phần tử từ Mảng Numpy theo chỉ mục

Để chọn một phần tử từ Numpy Array, chúng ta có thể sử dụng toán tử [] i. e

ndarray[index]

Nó sẽ chỉ trả về phần tử tại chỉ mục đã cho.

Hãy sử dụng điều này để chọn một phần tử ở chỉ mục 2 từ Mảng Numpy mà chúng tôi đã tạo ở trên i. e. mảng np,

# Select an element at index 2 [Index starts from 0]
elem = npArray[2]

print['Element at 2nd index  : ' , elem]

Đầu ra.
______4

Chọn một mảng con từ Numpy Array theo phạm vi chỉ mục

Chúng ta cũng có thể chọn một mảng con từ Numpy Array bằng toán tử [] i. e

ndArray[first:last]

Nó sẽ trả về một mảng con từ mảng ban đầu với các phần tử từ chỉ số đầu tiên đến cuối cùng – 1.

Hãy sử dụng điều này để chọn các mảng phụ khác nhau từ Mảng Numpy ban đầu

Nội dung của Mảng Numpy gọn gàng ban đầu mà chúng tôi đã tạo ở trên i. e. Mảng np như sau,

[ 1  3  5  7  9 11 13 15 17 19]

Bây giờ hãy xem một số ví dụ,

ví dụ 1. Chọn một mảng con có các phần tử từ chỉ số 1 đến 6,

# Select elements from index 1 to 6
subArray = npArray[1:7]

Nội dung của Mảng con như sau,
[ 3  5  7  9 11 13]

Ví dụ 2. Chọn các phần tử từ đầu đến chỉ mục 3
subArray = npArray[:4]

Đầu ra.
______10
Ví dụ 3. Chọn các phần tử từ chỉ mục thứ 2 đến cuối
[ 1  3  5  7  9 11 13 15 17 19]
1
Đầu ra.
[ 1  3  5  7  9 11 13 15 17 19]
2

Sub Numpy Array chỉ là một khung nhìn. Phát thanh truyền hình

Mảng Sub Numpy được toán tử [] trả về chỉ là dạng xem của mảng ban đầu i. e. dữ liệu không được sao chép, chỉ một chế độ xem phụ của ndarray gốc được tạo.
Mọi sửa đổi trong đó cũng sẽ được phản ánh trong Mảng Numpy ban đầu.

Hãy xác nhận điều này

Tạo một mảng Numpy,

[ 1  3  5  7  9 11 13 15 17 19]
3
Nội dung của nó là,
[ 1  3  5  7  9 11 13 15 17 19]

chọn một mảng phụ từ nó,
[ 1  3  5  7  9 11 13 15 17 19]
5
Contents of sub array is ,
[ 3  5  7  9 11 13]

Modify the contents of sub array,
[ 1  3  5  7  9 11 13 15 17 19]
7
Sub array is just a view of original array i.e. data is not copied just a view of sub array is created. Any modification in it will be reflected in original Numpy Array too,
[ 1  3  5  7  9 11 13 15 17 19]
8

đầu ra

[ 1  3  5  7  9 11 13 15 17 19]
9
Chúng tôi chỉ sửa đổi Mảng Numpy phụ nhưng các thay đổi cũng được phản ánh trong Mảng Numpy gốc.
Trong trường hợp phân tích dữ liệu trong khoa học dữ liệu, chúng tôi thường sử dụng Mảng Numpy với tập dữ liệu lớn, vì vậy để tránh sao chép không cần thiết, ndarray đã thêm tính năng chỉ xem hay còn gọi là quảng bá.

Tạo một bản sao Mảng con của Mảng Numpy

Chúng ta cũng có thể tạo một bản sao của mảng con bằng cách sử dụng,

ndarray[index]
0
Nó sẽ trả về bản sao của mảng con.

Hãy xem một ví dụ,

ndarray[index]
1
Đầu ra.
______22
Vì Mảng phụ không phải là bản sao duy nhất của chế độ xem nên những thay đổi được thực hiện trong Mảng phụ sẽ không được phản ánh trong mảng chính.

Ví dụ hoàn chỉnh như sau,

ndarray[index]
3
Đầu ra.
______24

Quảng cáo

Cảm ơn bạn đã đọc.

Sử dụng hàm

ndarray[index]
53 để sao chép mảng Python NumPy [ndarray] sang mảng khác. Phương thức này lấy mảng bạn muốn sao chép làm đối số và trả về một bản sao mảng của đối tượng đã cho. Bản sao sở hữu dữ liệu và mọi thay đổi đối với bản sao sẽ không ảnh hưởng đến mảng ban đầu. Ngoài ra, bạn cũng có thể thử chức năng
ndarray[index]
54

Trong bài viết này, tôi sẽ giải thích một số cách sao chép bản sao mảng Numpy bằng các ví dụ bằng cách sử dụng các hàm như

ndarray[index]
53,
ndarray[index]
56 và toán tử gán

1. Ví dụ nhanh về Python NumPy Array Copy

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách lấy bản sao mảng Python NumPy

ndarray[index]
9

2. Sử dụng NumPy. chức năng sao chép []

Bằng cách sử dụng hàm

ndarray[index]
53, bạn có thể tạo một bản sao mảng của đối tượng đã cho. Trong ví dụ dưới đây, mảng Numpy đã cho
ndarray[index]
58 được sao chép sang một mảng khác
ndarray[index]
59 bằng cách sử dụng hàm
# Select an element at index 2 [Index starts from 0]
elem = npArray[2]

print['Element at 2nd index  : ' , elem]
30

2. 1 bản sao[] Cú pháp

Sau đây là cú pháp của numpy. chức năng sao chép []

ndarray[index]
5
  • # Select an element at index 2 [Index starts from 0]
    elem = npArray[2]
    
    print['Element at 2nd index  : ' , elem]
    
    31 – Nhập dữ liệu mảng
  • # Select an element at index 2 [Index starts from 0]
    elem = npArray[2]
    
    print['Element at 2nd index  : ' , elem]
    
    32 – Kiểm soát bố cục bộ nhớ của bản sao.
    # Select an element at index 2 [Index starts from 0]
    elem = npArray[2]
    
    print['Element at 2nd index  : ' , elem]
    
    33 nghĩa là C-order, ________ 334 nghĩa là OF-order, ________ 335 nghĩa là 'F' nếu a là Fortran liền kề, 'C' nếu không. Theo mặc định, nó nhận giá trị
    # Select an element at index 2 [Index starts from 0]
    elem = npArray[2]
    
    print['Element at 2nd index  : ' , elem]
    
    36 và đại diện cho bố cục của mảng
  • # Select an element at index 2 [Index starts from 0]
    elem = npArray[2]
    
    print['Element at 2nd index  : ' , elem]
    
    37– Nếu True, thì các lớp con sẽ được chuyển qua, nếu không, mảng trả về sẽ buộc phải là một mảng lớp cơ sở. Đây là một tham số tùy chọn và theo mặc định, nó nhận giá trị 'Sai'

2. 2 Ví dụ sao chép mảng NumPy[]

# Select an element at index 2 [Index starts from 0]
elem = npArray[2]

print['Element at 2nd index  : ' , elem]
3

Sản lượng dưới sản lượng

Element at 2nd index  :  5
3

Ghi chú. Khi bạn sử dụng

# Select an element at index 2 [Index starts from 0]
elem = npArray[2]

print['Element at 2nd index  : ' , elem]
30, nó sẽ sao chép các phần tử từ mảng đầu vào sang một mảng khác, do đó, nếu bạn sửa đổi mảng ban đầu, các thay đổi sẽ không phản ánh trên mảng đã sao chép. Nếu bạn sử dụng toán tử gán để sao chép thì các giá trị trên cả hai mảng đều được cập nhật

3. Sao chép mảng đa chiều

Hãy xem một ví dụ khác về hàm copy[] để sao chép các mảng NumPy đa chiều. Ví dụ dưới đây minh họa việc sao chép mảng ba chiều

Element at 2nd index  :  5
5

Sản lượng dưới sản lượng

Element at 2nd index  :  5
6

4. Sử dụng toán tử gán

Nếu bạn muốn sao chép mảng thành một biến khác, hãy sử dụng toán tử gán để sao chép. Khi bạn sử dụng phương pháp này, việc thay đổi giá trị của một mảng sẽ phản ánh sự thay đổi trên mảng khác

Element at 2nd index  :  5
7

Sản lượng dưới sản lượng

Element at 2nd index  :  5
8

5. Sử dụng NumPy. Hàm empty_like[]

Sử dụng hàm

ndarray[index]
56 để trả về một mảng mới có cùng hình dạng và kiểu như một mảng đã cho. Hàm này trả về dữ liệu chưa được khởi tạo [tùy ý] có cùng hình dạng và loại như nguyên mẫu. Vì nó không khởi tạo giá trị nên bạn cần gán giá trị cho nó để tạo bản sao

ndArray[first:last]
0

Sản lượng dưới sản lượng

ndArray[first:last]
1

6. Sao chép one_like[], zeros_like[], full_like[]

Element at 2nd index  :  5
30 – Trả về mảng có cùng hình dạng và loại nhưng chứa giá trị một

ndarray[index]
50

Element at 2nd index  :  5
31 – Trả về mảng có cùng hình dạng và loại nhưng chứa các giá trị bằng 0

ndarray[index]
51

Element at 2nd index  :  5
32 – Trả về mảng có cùng hình dạng và loại nhưng chứa các giá trị được chỉ định

ndarray[index]
52

7. Phần kết luận

Trong bài viết này, tôi đã giải thích cách tạo một bản sao của mảng NumPy bằng cách sử dụng hàm

ndarray[index]
53 với các ví dụ và cũng tiết lộ điều gì sẽ xảy ra khi bạn cập nhật mảng đã sao chép hoặc mảng gốc

Chủ Đề