Làm thế nào để bạn sao chép các giá trị trong một mảng trong python?

Để sao chép các giá trị từ mảng này sang mảng khác, phát khi cần, hãy sử dụng numpy. copyto() trong Python Numpy −

  • Tham số đầu tiên là mảng nguồn
  • Tham số thứ 2 là mảng đích

Tham số truyền kiểm soát loại truyền dữ liệu nào có thể xảy ra khi sao chép -

  • 'không' có nghĩa là các loại dữ liệu hoàn toàn không được truyền
  • 'equiv' có nghĩa là chỉ cho phép thay đổi thứ tự byte
  • 'an toàn' có nghĩa là chỉ cho phép truyền có thể bảo toàn giá trị
  • 'same_kind' có nghĩa là chỉ cho phép sử dụng an toàn hoặc sử dụng trong một loại, như float64 đến float32
  • 'không an toàn' có nghĩa là mọi chuyển đổi dữ liệu có thể được thực hiện

bước

Lúc đầu, nhập thư viện cần thiết -

import numpy as np

Tạo một mảng 2d −

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])

Hiển thị mảng của chúng tôi -

print("Array...
",arr)

Lấy kiểu dữ liệu -

print("
Array datatype...
",arr.dtype)

Lấy kích thước của Mảng -

print("
Array Dimensions...
",arr.ndim)

Lấy hình dạng của Array -

print("
Our Array Shape...
",arr.shape)

Lấy số phần tử của Array −

print("
Elements in the Array...
",arr.size)

Điểm đến -

arrRes = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

Để sao chép các giá trị từ mảng này sang mảng khác, phát khi cần, hãy sử dụng numpy. phương thức copyto() -

________số 8

Thí dụ

import numpy as np

# Create a 2d array
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69], [69, 80, 80, 99]])

# Displaying our array
print("Array...
",arr) # Get the datatype print("
Array datatype...
",arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
",arr.ndim) # Get the shape of the Array print("
Our Array Shape...
",arr.shape) # Get the number of elements of the Array print("
Elements in the Array...
",arr.size) # The destination arrRes = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15,16]] # To copy values from one array to another, broadcasting as necessary, use the numpy.copyto() method in Python Numpy # The 1st parameter is the source array # The 2nd parameter is the destination array res = np.copyto(arr, arrRes) print("
Result...
",arrRes)

đầu ra

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
0

Làm thế nào để bạn sao chép các giá trị trong một mảng trong python?

Cập nhật ngày 17-Feb-2022 09. 54. 47

Sử dụng hàm

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
13 để 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
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
14

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 với các ví dụ bằng cách sử dụng các hàm như

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
13,
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
16 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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
5

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

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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
13, 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
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
18 được sao chép sang một mảng khác
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
19 bằng cách sử dụng hàm
arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
90

2. 1 bản sao() Cú pháp

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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
1
  • arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    91 – Nhập dữ liệu mảng
  • arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    92 – Kiểm soát bố cục bộ nhớ của bản sao.
    arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    93 có nghĩa là thứ tự C,
    arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    94 có nghĩa là thứ tự F,
    arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    95 có 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ị
    arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    96 và đại diện cho bố cục của mảng
  • arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
    97– Nếu True, thì các lớp con sẽ được chuyển qua, nếu không, mảng được 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()

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
9

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

print("Array...
",arr)
9

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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
90, 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

print("
Array datatype...
",arr.dtype)
1

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

print("
Array datatype...
",arr.dtype)
2

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

print("
Array datatype...
",arr.dtype)
3

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

print("
Array datatype...
",arr.dtype)
4

5. Sử dụng NumPy. Hàm empty_like()

Sử dụng hàm

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
16 để trả về một mảng mới có hình dạng và kiểu giống 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

print("
Array datatype...
",arr.dtype)
6

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

print("
Array datatype...
",arr.dtype)
7

6. Sao chép one_like(), zeros_like(), full_like()

print("Array...
",arr)
90 – Trả về mảng có cùng hình dạng và kiểu nhưng chứa giá trị một

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
10

print("Array...
",arr)
91 – 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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
11

print("Array...
",arr)
92 – 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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
12

7. Sự 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

arr = np.array([[28, 49, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])
13 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