Hướng dẫn numpy append in python - nối thêm numpy trong python

Hàm numpy.append () có sẵn trong gói NumPy. Append trong Python là một phương thức được xác định trước được sử dụng để thêm một item vào các loại tập hợp nhất định. Nếu không có phương thức append, các nhà phát triển sẽ phải thay đổi toàn bộ mã của tập hợp để thêm một giá trị hoặc item. Trường hợp sử dụng chính của nó được xem cho một danh sách loại tập hợp.

Hàm numpy.append () được sử dụng để thêm hoặc nối các giá trị mới vào một mảng numpy hiện có. Hàm này thêm các giá trị mới vào cuối mảng.

Các bài viết liên quan:

Hàm append () numpy được sử dụng để hợp nhất hai mảng. Nó trả về một mảng mới và mảng ban đầu vẫn không thay đổi.

Cú pháp

numpy.append(arr, values, axis=None)  

Tham số

Có các tham số sau của hàm append ():

  1. arr: array_like: array_like

Đây là một ndarray. Các giá trị mới được nối vào một bản sao của mảng này. Tham số này là bắt buộc và đóng một vai trò quan trọng trong hàm numpy.append ().

  1. values: array_like: array_like

Tham số này xác định các giá trị được nối vào bản sao của một ndarray. Một điều cần lưu ý ở đây là các giá trị này phải có hình dạng chính xác như ndarray ban đầu, không bao gồm trục. Nếu trục không được xác định, thì các giá trị có thể ở bất kỳ hình dạng nào và sẽ phẳng trước khi sử dụng.

  1. axis: int (tùy chọn): int (tùy chọn)

Tham số này xác định trục dọc theo các giá trị được nối vào. Khi trục không được cung cấp cho chúng, cả ndarray và giá trị đều được làm phẳng trước khi sử dụng.

Return

Hàm này trả về một bản sao của ndarray với các giá trị được nối vào trục.

Ví dụ 1: np.append ()

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  

Output::

Hướng dẫn numpy append in python - nối thêm numpy trong python

Trong đoạn mã trên

  • Chúng tôi đã tạo một mảng ‘a’ bằng hàm np.array ().
  • Sau đó, chúng tôi đã tạo một mảng ‘b’ khác bằng cách sử dụng cùng một hàm np.array ().
  • Chúng tôi đã khai báo biến ‘c’ và gán giá trị trả về của hàm np.append ().
  • Chúng tôi đã chuyển mảng ‘a’ và ‘b’ trong hàm.
  • Cuối cùng, chúng tôi đã in giá trị của arr.

Trong đầu ra, các giá trị của cả hai mảng, tức là ‘a’ và ‘b’, đã được hiển thị ở dạng phẳng và mảng ban đầu vẫn giữ nguyên.

Ví dụ 2: np.append ({a1, a2, …}, axis = 0)

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b,axis=0)  
c  

Trong đoạn mã trên

  • Chúng tôi đã tạo một mảng ‘a’ bằng hàm np.array ().
  • Sau đó, chúng tôi đã tạo một mảng ‘b’ khác bằng cách sử dụng cùng một hàm np.array ().
  • Chúng tôi đã khai báo biến ‘c’ và gán giá trị trả về của hàm np.append ().
  • Chúng tôi đã chuyển mảng ‘a’ và ‘b’ trong hàm.
  • Cuối cùng, chúng tôi đã in giá trị của arr.

Trong đầu ra, các giá trị của cả hai mảng, tức là ‘a’ và ‘b’, đã được hiển thị ở dạng phẳng và mảng ban đầu vẫn giữ nguyên.

Output::

Hướng dẫn numpy append in python - nối thêm numpy trong python

Ví dụ 2: np.append ({a1, a2, …}, axis = 0)

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b,axis=1)  
c  

Hướng dẫn numpy append in python - nối thêm numpy trong python

Chúng tôi đã chuyển mảng ‘a’ và ‘b’ trong hàm và chúng tôi cũng đã chuyển trục là 0.

Sử dụng Python3.5.3 trong Spyder 3.1.3 trên Raspbian trên Raspberry Pi. Việc nối hai lần kết nối Numpy vào danh sách có tên 'List0' hoạt động tốt với các mảng Numpy được phân bổ 'A' Like:

Nội dung chính ShowShow

  • Numpy append () cú pháp
  • Python Numpy.Append () Ví dụ
  • 1. Làm phẳng hai mảng
  • 2. Hợp nhất dọc theo trục
  • 3. Hợp nhất các mảng của các hình dạng khác nhau
  • Bạn có thể nối một mảng vào danh sách Python không?
  • Bạn có thể chuyển đổi mảng numpy thành liệt kê trong Python không?
  • Mảng numpy có thể được thêm vào không?
  • Có nối lại với mảng numpy nhanh hơn danh sách không?

import numpy as np

list0 = []
a = np.array([[1,2,3],[2,3,4]])
list0.append(a)
a = np.array([[11,12,13],[12,13,14]])
list0.append(a)

print("list0 =",list0)

Các mảng Numpy nhanh hơn danh sách để làm điều đó, chúng tôi sẽ tính toán giá trị trung bình của 1 triệu mảng phần tử bằng cả Numpy và Danh sách.Mảng được tạo ngẫu nhiên.Theo dự đoán, chúng ta có thể thấy rằng các mảng numpy nhanh hơn đáng kể so với danh sách.Sự khác biệt tốc độ đáng kể là đáng chú ý. To do that, we will calculate the mean of 1 million element array using both NumPy and lists. The array is randomly generated. As predicted, we can see that NumPy arrays are significantly faster than lists. The considerable speed difference is noticeable.

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]

Sử dụng Python3.5.3 trong Spyder 3.1.3 trên Raspbian trên Raspberry Pi. Việc nối hai lần kết nối Numpy vào danh sách có tên 'List0' hoạt động tốt với các mảng Numpy được phân bổ 'A' Like:

import numpy as np
a = np.empty((3), int)
list0 = []
for idx in range(4):    
    for i in range(3):
        a[i] = idx*10 + i
    print("idx =",idx,"; a =",a)
    list0.append(a)
print("list0 =",list0)

Nội dung chính Show

idx = 0 ; a = [ 0  1  2]
idx = 1 ; a = [10 11 12]
idx = 2 ; a = [20 21 22]
idx = 3 ; a = [30 31 32]
list0 = [ array([30, 31, 32]), array([30, 31, 32]), 
          array([30, 31, 32]), array([30, 31, 32]) ] 

Numpy append () cú pháp

Hoạt động tốt, cung cấp dưới dạng đầu ra (được định dạng tốt hơn một chút cho bài viết):

Cảm ơn sự giúp đỡ, Peter

numpy.append (mảng, giá trị, trục = không) [nguồn]#append(arr, values, axis=None)[source]#append(arr, values, axis=None)[source]#

Nối các giá trị vào cuối một mảng.

Parametersarrarray_likearrarray_likearrarray_like

Các giá trị được gắn vào một bản sao của mảng này.

valuesarray_likearray_likearray_like

Các giá trị này được gắn vào một bản sao của ARR. Nó phải có hình dạng chính xác (hình dạng giống như ARR, không bao gồm trục). Nếu trục không được chỉ định, các giá trị có thể là bất kỳ hình dạng nào và sẽ được làm phẳng trước khi sử dụng.

Trục, tùy chọnint, optionalint, optional

Các trục dọc theo đó các giá trị được nối thêm. Nếu trục không được đưa ra, cả ARR và các giá trị đều được làm phẳng trước khi sử dụng.

ReturnSappendndarrayappendndarrayappendndarray

Một bản sao của ARR với các giá trị được thêm vào trục. Lưu ý rằng

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
3 không xảy ra tại chỗ: một mảng mới được phân bổ và điền. Nếu trục là không, ra là một mảng phẳng.

Xem thêm

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
4

Chèn các phần tử vào một mảng.

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
5

Xóa các phần tử khỏi một mảng.

Ví dụ

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
1

Khi trục được chỉ định, các giá trị phải có hình dạng chính xác.

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
2

Chức năng Python Numpy append () được sử dụng để hợp nhất hai mảng. Hàm này trả về một mảng mới và mảng ban đầu vẫn không thay đổi.

Numpy append () cú pháp

Cú pháp chức năng là:

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
3
  • ARR có thể là một đối tượng giống như mảng hoặc một mảng numpy. Các giá trị được gắn vào một bản sao của mảng này.arr can be an array-like object or a NumPy array. The values are appended to a copy of this array.arr can be an array-like object or a NumPy array. The values are appended to a copy of this array.
  • Các giá trị là các đối tượng giống như mảng và nó được thêm vào cuối các phần tử của ARR ARR.values are array-like objects and it’s appended to the end of the “arr” elements.values are array-like objects and it’s appended to the end of the “arr” elements.
  • Trục chỉ định trục dọc theo giá trị nào được nối thêm. Nếu trục không được cung cấp, cả hai mảng đều được làm phẳng.axis specifies the axis along which values are appended. If the axis is not provided, both the arrays are flattened.axis specifies the axis along which values are appended. If the axis is not provided, both the arrays are flattened.

Python Numpy.Append () Ví dụ

Hãy cùng xem xét một số ví dụ về hàm numpy append ().

1. Làm phẳng hai mảng

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
4

2. Hợp nhất dọc theo trục

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
5

Output:

import numpy as np  
a=np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])  
b=np.array([[11, 21, 31], [42, 52, 62], [73, 83, 93]])  
c=np.append(a,b)  
c  
6
  • Khi các mảng 2x2 được hợp nhất dọc theo trục x, kích thước mảng đầu ra là 4x2.
  • Khi các mảng 2x2 được hợp nhất dọc theo trục y, kích thước mảng đầu ra là 2x4.

3. Hợp nhất các mảng của các hình dạng khác nhau

Hàm append () ném giá trịerRor nếu cả hai mảng có hình dạng khác nhau, không bao gồm trục. Hãy để hiểu về kịch bản này với một ví dụ đơn giản.

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
0
  • Trong ví dụ đầu tiên, các phần tử mảng được làm phẳng. Vì vậy, ngay cả khi chúng có kích thước hoàn toàn khác nhau - 1x2 và 2x3, phần nối () hoạt động tốt.
  • Trong ví dụ thứ hai, các hình dạng mảng là 1x2 và 2x2. Vì chúng tôi đang nối thêm dọc theo trục 0, hình dạng 0 trục có thể khác nhau. Các hình dạng khác phải giống nhau, vì vậy phần phụ này () cũng sẽ hoạt động tốt.

Output:

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
1

Hãy cùng xem xét một ví dụ khác, nơi ValueError sẽ được nêu ra.

list0 = [ array([[ 1,  2,  3], [ 2,  3,  4]]), 
          array([[11, 12, 13], [12, 13, 14]]) ]
2Python numpy append () valueError

Python numpy append() ValueError

Các hình dạng mảng là 1x2 và 2x3. Vì hình dạng trục-1 là khác nhau, giá trịerror được nâng lên. Tham khảo: API DocReference: API DocReference: API Doc

Bạn có thể nối một mảng vào danh sách Python không?

Nếu bạn đang sử dụng danh sách làm mảng, bạn có thể sử dụng các hàm append (), chèn () và mở rộng () của nó. Bạn có thể đọc thêm về nó tại Python thêm vào danh sách. Nếu bạn đang sử dụng mô -đun mảng, bạn có thể sử dụng cách ghép bằng toán tử +, append (), chèn () và mở rộng () các hàm để thêm các phần tử vào mảng.you can use its append(), insert(), and extend() functions. You can read more about it at Python add to List. If you are using array module, you can use the concatenation using the + operator, append(), insert(), and extend() functions to add elements to the array.you can use its append(), insert(), and extend() functions. You can read more about it at Python add to List. If you are using array module, you can use the concatenation using the + operator, append(), insert(), and extend() functions to add elements to the array.

Bạn có thể chuyển đổi mảng numpy thành liệt kê trong Python không?

Với Numpy, các đối tượng [np.array] có thể được chuyển đổi thành một danh sách với hàm Tolist ().Hàm Tolist () không chấp nhận bất kỳ đối số nào.Nếu mảng là một chiều, một danh sách với các phần tử mảng được trả về.array ] objects can be converted to a list with the tolist() function. The tolist() function doesn't accept any arguments. If the array is one-dimensional, a list with the array elements is returned. array ] objects can be converted to a list with the tolist() function. The tolist() function doesn't accept any arguments. If the array is one-dimensional, a list with the array elements is returned.

Mảng numpy có thể được thêm vào không?

append () được sử dụng để nối các giá trị vào cuối một mảng.Nó có trong các đối số sau: ARR: Các giá trị được gắn vào một bản sao của mảng này.. It takes in the following arguments: arr : values are attached to a copy of this array.. It takes in the following arguments: arr : values are attached to a copy of this array.

Có nối lại với mảng numpy nhanh hơn danh sách không?

Các mảng Numpy nhanh hơn danh sách để làm điều đó, chúng tôi sẽ tính toán giá trị trung bình của 1 triệu mảng phần tử bằng cả Numpy và Danh sách.Mảng được tạo ngẫu nhiên.Theo dự đoán, chúng ta có thể thấy rằng các mảng numpy nhanh hơn đáng kể so với danh sách.Sự khác biệt tốc độ đáng kể là đáng chú ý. To do that, we will calculate the mean of 1 million element array using both NumPy and lists. The array is randomly generated. As predicted, we can see that NumPy arrays are significantly faster than lists. The considerable speed difference is noticeable. To do that, we will calculate the mean of 1 million element array using both NumPy and lists. The array is randomly generated. As predicted, we can see that NumPy arrays are significantly faster than lists. The considerable speed difference is noticeable.