Rate this post

Hàm concatenate () là một hàm từ gói NumPy. Về cơ bản, hàm này kết hợp các mảng NumPy với nhau. Hàm này về cơ bản được sử dụng để nối hai hoặc nhiều mảng có cùng hình dạng dọc theo một trục được chỉ định. Có những điều cần thiết sau đây cần ghi nhớ:

NumPy’s concatenate () không giống như một phép nối cơ sở dữ liệu truyền thống. Nó giống như việc xếp chồng các mảng NumPy.

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

Chức năng này có thể hoạt động theo cả chiều dọc và chiều ngang. Điều này có nghĩa là chúng ta có thể nối các mảng với nhau theo chiều ngang hoặc chiều dọc.

Hàm concatenate () thường được viết dưới dạng np.concatenate (), nhưng chúng ta cũng có thể viết nó dưới dạng numpy.concatenate (). Nó phụ thuộc vào cách nhập gói numpy, nhập numpy dưới dạng np hoặc nhập numpy, tương ứng.

Cú pháp

numpy.concatenate ((a1, a2, ...), axis)

Parameter

  1. (a1, a2, …)

Tham số này xác định trình tự của mảng. Ở đây, a1, a2, a3 … là các mảng có hình dạng giống nhau, ngoại trừ chiều tương ứng với trục.

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

Tham số này xác định trục mà mảng sẽ được nối với nhau. Theo mặc định, giá trị của nó là 0.

Nó sẽ trả về một ndarray chứa các phần tử của cả hai mảng.

Xem thêm Duyệt mảng trong NumPy

Ví dụ 1: numpy.concatenate ()

import numpy as np  
x=np.array([[1,2],[3,4]])  
y=np.array([[12,30]])  
z=np.concatenate((x,y))  
z  

Trong đoạn code trên

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

Trong đầu ra, giá trị của cả hai mảng, tức là ‘x’ và ‘y’ được hiển thị theo trục = 0.

Đầu ra:

Ví dụ 2: numpy.concatenate () với axis = 0

import numpy as np  
x=np.array([[1,2],[3,4]])  
y=np.array([[12,30]])  
z=np.concatenate((x,y), axis=0)  
z  

Output:

Ví dụ 3: numpy.concatenate () với axis = 1

import numpy as np  
x=np.array([[1,2],[3,4]])  
y=np.array([[12,30]])  
z=np.concatenate((x,y.T), axis=1)  
z  

Output:

Trong ví dụ trên, ‘.T’ được sử dụng để thay đổi các hàng thành cột và cột thành hàng.

Xem thêm Sử dụng Linear Algebra trong Numpy

Ví dụ 4: numpy.concatenate () với axis = None

import numpy as np  
x=np.array([[1,2],[3,4]])  
y=np.array([[12,30]])  
z=np.concatenate((x,y), axis=None)  
z 

Output:

Trong các ví dụ trên, chúng ta đã sử dụng hàm np.concatenate (). Chức năng này không được bảo toàn che các đầu vào MaskedArray. Có một cách sau đây mà qua đó chúng ta có thể nối các mảng có thể duy trì việc che các đầu vào MaskedArray.

Ví dụ 5: np.ma.concatenate ()

import numpy as np  
x=np.ma.arange(3)  
y=np.arange(3,6)  
x[1]=np.ma.masked  
x  
y  
z1=np.concatenate([x,y])  
z2=np.ma.concatenate([x,y])  
z1  
z2  

Trong đoạn code trên

  • Chúng tôi đã tạo một mảng ‘x’ bằng cách sử dụng hàm np.ma.arrange ().
  • Sau đó, chúng ta đã tạo một mảng ‘y’ khác bằng cách sử dụng cùng một hàm np.ma.arrange ().
  • Chúng tôi đã khai báo biến ‘z1’ và gán giá trị trả về của hàm np.concatenate ().
  • Chúng tôi đã khai báo biến ‘z2’ và gán giá trị trả về của hàm np.ma.concatenate ().
  • Cuối cùng, chúng tôi đã cố gắng in giá trị của ‘z1’ và ‘z2’.

Xem thêm

Các câu hỏi phổ biến về numpy.concatenate

  1. Numpy.concatenate() là gì? Numpy.concatenate() là một hàm trong thư viện Numpy của Python, được sử dụng để ghép nối một số mảng Numpy theo một trục cụ thể.
  2. Cú pháp của hàm Numpy.concatenate() như thế nào? Cú pháp của hàm Numpy.concatenate() như sau: numpy.concatenate((a1, a2, …), axis=0, out=None)

Trong đó:

  • a1, a2, … là các mảng Numpy cần ghép nối.
  • axis là trục cần ghép nối. Giá trị mặc định của axis là 0, tức là các mảng sẽ được ghép nối theo chiều dọc.
  • out là một mảng Numpy kết quả.
  1. Numpy.concatenate() hỗ trợ những kiểu dữ liệu nào? Numpy.concatenate() hỗ trợ các kiểu dữ liệu số, mảng và ma trận, bao gồm các kiểu dữ liệu nguyên thủy như int và float, các mảng Numpy, các ma trận Numpy, các ma trận thưa và các mảng thưa.
  2. Làm thế nào để ghép nối nhiều mảng Numpy với Numpy.concatenate()? Để ghép nối nhiều mảng Numpy với Numpy.concatenate(), ta cần truyền các mảng đó vào trong hàm theo cú pháp sau: numpy.concatenate((a1, a2, …, an), axis=0)

Trong đó:

  • a1, a2, …, an là các mảng Numpy cần ghép nối.
  • axis là trục cần ghép nối. Giá trị mặc định của axis là 0, tức là các mảng sẽ được ghép nối theo chiều dọc.
  1. Làm thế nào để ghép nối các ma trận với Numpy.concatenate()? Để ghép nối các ma trận với Numpy.concatenate(), ta cần truyền các ma trận đó vào trong hàm theo cú pháp sau: numpy.concatenate((m1, m2, …, mn), axis=1)

Trong đó:

  • m1, m2, …, mn là các ma trận Numpy cần ghép nối.
  • axis là trục cần ghép nối. Trong trường hợp này, axis phải có giá trị bằng 1, tức là các ma trận sẽ được ghép nối theo chiều ngang.
  1. Có bao nhiêu trục trong một mảng Numpy? Một mảng Numpy có thể có nhiều trục, tùy thuộc vào số chiều của mảng đó. Ví dụ, một mảng một chiều được gọi là một mảng có một trục, một ma trận được gọi là mảng 2 trục.
  2. Numpy.concatenate() có thể sử dụng để ghép nối các mảng Numpy có kích thước khác nhau không? Có, Numpy.concatenate() có thể sử dụng để ghép nối các mảng Numpy có kích thước khác nhau, nhưng chỉ khi số chiều của các mảng đó là giống nhau.
  3. Các tham số trong hàm Numpy.concatenate() có ý nghĩa gì?
  • a1, a2, …: các mảng Numpy cần ghép nối.
  • axis: trục cần ghép nối. Giá trị mặc định của axis là 0, tức là các mảng sẽ được ghép nối theo chiều dọc.
  • out: một mảng Numpy kết quả. Nếu không được cung cấp, hàm sẽ tạo ra một mảng mới để lưu trữ kết quả ghép nối.
  1. Numpy.concatenate() và Numpy.stack() khác nhau như thế nào?
  • Numpy.concatenate() được sử dụng để ghép nối các mảng Numpy theo một trục cụ thể, trong khi Numpy.stack() được sử dụng để tạo ra một mảng mới bằng cách xếp các mảng Numpy lên nhau theo một trục mới.
  • Numpy.concatenate() yêu cầu các mảng Numpy cùng kích thước trên trục cần ghép nối, trong khi Numpy.stack() có thể xếp các mảng Numpy có kích thước khác nhau lên nhau.
  • Numpy.stack() có thể tạo ra mảng mới với số chiều lớn hơn so với các mảng gốc, trong khi Numpy.concatenate() không thay đổi số chiều của các mảng gốc.
  1. Numpy.concatenate() có thể được sử dụng để ghép nối mảng một chiều và mảng hai chiều không? Có, Numpy.concatenate() có thể được sử dụng để ghép nối mảng một chiều và mảng hai chiều, nhưng chỉ khi trục được sử dụng để ghép nối là trục thứ hai của mảng hai chiều.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now