Kinh Nghiệm về Hướng dẫn dùng concantinate python 2022 Chi Tiết

Pro đang tìm kiếm từ khóa Hướng dẫn dùng concantinate python 2022 được Cập Nhật vào lúc : 2022-09-14 12:01:00 . Với phương châm chia sẻ Kinh Nghiệm về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Mình lý giải và hướng dẫn lại nha.

Thủ Thuật Hướng dẫn Hướng dẫn dùng concantinate python Chi Tiết

Bạn đang tìm kiếm từ khóa Hướng dẫn dùng concantinate python được Cập Nhật vào lúc : 2022-09-14 12:00:28 . Với phương châm chia sẻ Thủ Thuật về trong nội dung nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tìm hiểu thêm Post vẫn ko hiểu thì hoàn toàn hoàn toàn có thể lại Comments ở cuối bài để Admin lý giải và hướng dẫn lại nha.

Hàm concatenate () là một hàm từ gói NumPy. Về cơ bản, hàm này phối hợp những 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 thiết yếu sau này cần ghi nhớ:

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

Các đọc thêm:

Chức năng này hoàn toàn hoàn toàn có thể hoạt động và sinh hoạt giải trí và sinh hoạt vui chơi theo cả chiều dọc và chiều

ngang. Điều này nghĩa là toàn bộ toàn bộ chúng ta hoàn toàn hoàn toàn có thể nối những 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 toàn bộ toàn bộ chúng ta cũng hoàn toàn hoàn toàn 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

(a1, a2, …)

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

axis: int (tùy chọn)

Tham số này xác lập trục mà mảng sẽ tiến hành 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 những thành phần của toàn bộ 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 phương pháp sử dụng hàm np.array ().
    Sau đó, toàn bộ toàn bộ chúng ta đã tạo một mảng khác ‘y’ bằng phương pháp 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 toàn bộ 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 những 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 những ví dụ

trên, toàn bộ toàn bộ chúng ta đã sử dụng hàm np.concatenate (). Chức năng này sẽ không còn hề được bảo toàn che những nguồn vào MaskedArray. Có một cách sau này mà thông thông qua đó toàn bộ toàn bộ chúng ta hoàn toàn hoàn toàn có thể nối những mảng hoàn toàn hoàn toàn có thể duy trì việc che những nguồn 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

Xem thêm Function trong R, những hàm trong R

Flattening

Trong phần này tôi xin trình làng cách chuyển một mảng nhiều chiều về mảng chỉ có môt chiều mà tôi gọi đó là làm phẳng (flatten) mảng

hoặc mảng có shape mong ước khác. Thư viện numpy phục vụ ta hai phương thức giúp ta thao tác này thuận tiện và đơn thuần và giản dị: flatten() và ravel().

Phưng thức flatten() sử dụng một tham số từ khoá tùy chọn “order”. Ý nghĩa của “order” được miêu tả dưới đây. Giá trị mặc định là “C”.

Ý nghĩa “order” cho toàn bộ flatten() và ravel(): với mảng a[i1][i2][i3]…[in]
‘C’: trật tự C-like , với chỉ số trục ở đầu cuối (in) thay đổi nhanh nhất có thể hoàn toàn có thể, quay trở lại chỉ số

trục thứ nhất thay đổi chậm nhất (i1). “C” là mặc định!

‘F’: trật tự Fortran-like, với chỉ số thứ nhất (i1) thay đổi nhanh nhất có thể hoàn toàn có thể, và chỉ số ở đầu cuối thay đổi chậm nhất (in).

‘A’: trật tự sẽ là Fortran-like nếu mảng “a” là “Fortran contiguous” trong bộ nhớ, tương tự trật tự sẽ là c-like nếu ngược lại.

‘K’: đọc những thành phần theo thứ tự chúng xuất hiện trong bộ nhớ, ngoại trừ việc quần hòn đảo chiều tài liệu khi chỉ số là âm.

 Ví dụ:

import

numpy as np np.random.seed(1234) A = np.random.randint(100,size=(3,4,2)) print “A = “, A Flattened_X = A.flatten() print “Flattened_X = “, Flattened_X print “A.flatten(order=”C”) = “, A.flatten(order=”C”) print “A.flatten(order=”F”) = “, A.flatten(order=”F”) print “A.flatten(order=”A”) = “, A.flatten(order=”A”) Output: A =  [[[47 83]   [38 53]   [76 24]   [15 49]]  [[23 26]   [30 43]   [30 26]   [58 92]]  [[69 80]   [73 47]   [50 76]  

[37 34]]] Flattened_X =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34] A.flatten(order=”C”) =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34] A.flatten(order=”F”) =  [47 23 69 38 30 73 76 30 50 15 58 37 83 26 80 53 43 47 24 26 76 49 92 34] A.flatten(order=”A”) =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34]

Sử dụng ravel(),  thứ tự của những thành phần trong mảng trả về bởi ravel

() thường là kiểu “C-style”.

Cú pháp: ravel (a, order=”C”)

Ravel trả về một mảng một chiều. Bản sao được thực thi chỉ khi thiết yếu.

Thông số từ khóa tùy chọn “order”  hoàn toàn hoàn toàn có thể là ‘C’, ‘F’, ‘A’, hoặc ‘K’
Ví dụ:

import numpy as np np.random.seed(1234) A = np.random.randint(100,size=(3,4,2)) print “A = “, A RavelX = A.ravel() print “RavelX = “, RavelX print “A.ravel(order=”C”) = “, A.ravel(order=”C”) print “A.ravel(order=”F”)

= “, A.ravel(order=”F”) print “A.ravel(order=”A”) = “, A.ravel(order=”A”) Output: A =  [[[47 83]   [38 53]   [76 24]   [15 49]]  [[23 26]   [30 43]   [30 26]   [58 92]]  [[69 80]   [73 47]   [50 76]   [37 34]]] RavelX =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34] A.ravel(order=”C”) =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34] A.ravel(order=”F”) =  [47 23 69 38

30 73 76 30 50 15 58 37 83 26 80 53 43 47 24 26 76 49 92 34] A.ravel(order=”A”) =  [47 83 38 53 76 24 15 49 23 26 30 43 30 26 58 92 69 80 73 47 50 76 37 34]

Qua 2 ví dụ trên hoàn toàn hoàn toàn có thể thấy cả hai phương thức ravel() hay flatten() đều trả về list  kết quả như nhau. Vậy tại sao cần sinh ra 2 phương thức để thực thi cùng một việc làm ? Hãy cùng theo dõi ví dụ phía dưới:

>>> import numpy as np # Khoi tao 2 mang A, B voi cung seed -> Ta se nhan duoc

2 mang giong nhau >>> np.random.seed(10) >>> A=np.random.randint(20,size=(2,3)) >>> np.random.seed(10) >>> B=np.random.randint(20,size=(2,3)) >>> A array([[ 9,  4, 15],        [ 0, 17, 16]]) >>> B array([[ 9,  4, 15],        [ 0, 17, 16]]) # Lam phang 2 mang A,B voi phuong thuc flatten() va Ravel() >>> FlattenA = A.flatten() >>> RavelB = B.ravel() >>>

FlattenA array([ 9,  4, 15,  0, 17, 16]) >>> RavelB array([ 9,  4, 15,  0, 17, 16]) # Thay đổi mảng được trả về bởi 2 phương thức >>> FlattenA[0] = 1 >>> RavelB[0]= 1 # Thay đổi mảng được trả về bởi flatten() -> mảng gốc không thay đổi >>> A array([[ 9,  4, 15],        [ 0, 17, 16]]) # Thay đổi mảng được trả về bởi ravel() -> mảng gốc thay đổi theo >>> B array([[ 1,  4, 15],       

[ 0, 17, 16]]) >>>

Như vậy flatten() luôn trả về một copy của mảng gốc trong lúc ravel() là trả về một view của mảng gốc. Dẫn đến kết quả là nếu ta thay đổi giá trị mảng được trả về bởi ravel() thì mảng gốc cũng tiếp tục thay đổi theo. Bù lại thì ravel sẽ thường xử lý nhanh hơn bởi không cần memory để thực thi copy. Nhưng những bạn cần thận trọng với việc sửa đổi mảng được trả về bởi ravel().

Reshape

Làm

phẳng một mảng chỉ là một phương pháp để thay đổi chiều của mảng. Một mảng hoàn toàn hoàn toàn có thể thay đổi thành bất kỳ chiều nào miễn là không thay đổi số lượng thành phần trong mảng. Việc này hoàn toàn hoàn toàn có thể thực thi qua hàm reshape(). Phương thức reshape() đã được chúng tôi nhắc tới trong “bài 24: numpy slicing indexing”. Trong phần này tôi sẽ nêu rõ ràng hơn về ý nghĩa cũng như cú pháp của nó.

Reshape() trả về mảng mới có shape mới mà không thay đổi tài liệu của nó.

pháp là reshape(a, newshape, order=”C”), ý nghĩa của thông số: a là mảng cần reshape, newshape là một tuple sẽ nêu rõ kích thước những chiều muốn chuyển về, “order” sẽ nhận một trong những giá trị sau ‘C’, ‘F’, ‘A’ với ý nghĩa giống trong flatten() hay ravel().

Quan sát ví dụ sau để rõ hơn cách sử dụng reshape().

import numpy as np X = np.array(range(50)) print “X = “, X print “changing to (10,5)” Y = X.reshape((10,5)) print “Y = “,

Y print “changing to (2,5,5)” Y = X.reshape((2,5,5)) print “Y = “,Y Output: X =  [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49] changing to (10,5) Y =  [[ 0  1  2  3  4]  [ 5  6  7  8  9]  [10 11 12 13 14]  [15 16 17 18 19]  [20 21 22 23 24]  [25 26 27 28 29]  [30

31 32 33 34]  [35 36 37 38 39]  [40 41 42 43 44]  [45 46 47 48 49]] changing to (2,5,5) Y =  [[[ 0  1  2  3  4]   [ 5  6  7  8  9]   [10 11 12 13 14]   [15 16 17 18 19]   [20 21 22 23 24]]  [[25 26 27 28 29]   [30 31 32 33 34]   [35 36 37 38 39]   [40 41 42 43 44]   [45 46 47 48 49]]]

Ghép những mảng (Concatenating Arrays)

Trong quá

trình xử lý tài liệu, thật nhiều bài toán yên cầu cần ghép nối nhiều mảng với nhau để mở rộng hàng hay cột thì khĩ thuật “Concatenating Arrays” tỏ ra rất hiệu suất cao.

Cú pháp: numpy.concatenate((a1,a2,…), axis=0)

Trong số đó: (a1,a2,…) là list những mảng cần ghép.

Trong ví dụ sau, toàn bộ toàn bộ chúng ta nối ba mảng một chiều vào một trong những trong những mảng qua phương thức concatenate()

import numpy as np x =

np.array([110,202]) y = np.array([108,70,6]) z = np.array([10,3,5]) c = np.concatenate((x,y,z)) print “x = “,x print “y = “, y print “c = “, c Output: x =  [110 202] y =  [108  70   6] c =  [110 202 108  70   6  10   3   5]

Khi ghép những mảng đa chiều, toàn bộ toàn bộ chúng ta hoàn toàn hoàn toàn có thể ghép những mảng theo trục. Điều kiện là mảng phải có cùng một size tương ứng với trục muốn ghép khi sử dụng concatenate(). Giá trị mặc định là axis = 0:

Dưới đấy là ví dụ cho toàn bộ hai trường hợp axis=0 và axis = 1, những bạn để ý quan tâm kết quả để hoàn toàn hoàn toàn có thể hiểu được cách ghép.

import numpy as np np.random.seed(1234) x =np.random.randint(100,size=(2,2,3)) y =np.random.randint(100,size=(2,2,3)) print “x = “,x print “y = “,y z = np.concatenate((x,y)) print “np.concatenate((x,y)) = “,z print “change axis=1” z = np.concatenate((x,y),axis = 1) print “np.concatenate((x,y),axis = 1) = “,z Output: x =  [[[47 83 38]   [53 76 24]]  [[15

49 23]   [26 30 43]]] y =  [[[30 26 58]   [92 69 80]]  [[73 47 50]   [76 37 34]]] np.concatenate((x,y)) =  [[[47 83 38]   [53 76 24]]  [[15 49 23]   [26 30 43]]  [[30 26 58]   [92 69 80]]  [[73 47 50]   [76 37 34]]] change axis=1 np.concatenate((x,y),axis = 1) =  [[[47 83 38]   [53 76 24]   [30 26 58]   [92 69 80]]  [[15 49 23]   [26 30 43]   [73 47 50]   [76 37 34]]]

Adding

New Dimensions

Các tham số mới hoàn toàn hoàn toàn có thể được thêm vào mảng bằng phương pháp sử dụng phối hợp slicing và np.newaxis. Chúng tôi minh họa kỹ thuật này bằng một ví dụ:

import numpy as np np.random.seed(1234) x = np.random.randint(100,size=10) print “x = “,x print “x[:,np.newaxis] = ” , x[:,np.newaxis] print “x[len(x)/2:,np.newaxis] = “, x[len(x)/2:,np.newaxis] Output: x =  [47 83 38 53 76 24 15 49 23 26] x[:,np.newaxis] =  [[47]  [83]

 [38]  [53]  [76]  [24]  [15]  [49]  [23]  [26]] x[len(x)/2:,np.newaxis] =  [[24]  [15]  [49]  [23]  [26]]

Xếp chồng những mảng:

Ta hoàn toàn hoàn toàn có thể xếp chồng những mảng theo hàng hoặc theo cột qua hai phương thức sau: row_stack() và column_stack(). Bạn hoàn toàn hoàn toàn có thể xếp chồng nhiều vectors tùy ý bạn, trong ví dụ dưới đây tôi lấy ví dụ cho 2 mảng. Chú ý kích thước chiều xếp chồng của những mảng

phải giống nhau.import numpy as np x = np.array(range(4)) np.random.seed(1234) y = np.random.randint(100,size=4) print “x = “, x print “y = “, y print “np.row_stack((x,y)) = “, np.row_stack((x,y)) print “np.column_stack((x,y)) = “, np.column_stack((x,y)) y = np.random.randint(100,size=(4,3)) print “y = “, y print “np.column_stack((x,y)) = “, np.column_stack((x,y)) Output: x =  [0 1 2 3] y =  [47 83 38 53] np.row_stack((x,y)) =  [[ 0  1  2  3]  [47

83 38 53]] np.column_stack((x,y)) =  [[ 0 47]  [ 1 83]  [ 2 38]  [ 3 53]] y =  [[76 24 15]  [49 23 26]  [30 43 30]  [26 58 92]] np.column_stack((x,y)) =  [[ 0 76 24 15]  [ 1 49 23 26]  [ 2 30 43 30]  [ 3 26 58 92]]

Phương thức tile()

Đôi khi, bạn muốn hoặc phải tạo một ma trận mới bằng phương pháp lặp lại một ma trận hiện có nhiều lần để tạo một ma trận mới với một hình dạng khác

hoặc thậm chí còn còn là một kích thước. Ví dụ lập lại ma trận được bôi đỏ để tạo thành ma trận như mảng dưới đây. Theo hàng 4 lần, cột lập 5 lần.

1

2

1

2

1

2

1

2

1

2

3

4

3

4

3

4

3

4

3

4

1

2

1

2

1

2

1

2

1

2

3

4

3

4

3

4

3

4

3

4

1

2

1

2

1

2

1

2

1

2

3

4

3

4

3

4

3

4

3

4

1

2

1

2

1

2

1

2

1

2

3

4

3

4

3

4

3

4

3

4

Cú pháp tile(x,reps), trong số đó x là mảng cần lập, và reps là một tuple chỉ rõ hàng và cột cần lập bao nhiêu lần. Ví dụ:

import numpy as np x =np.array([[1,2],[3,4]]) print “x = “, x np.tile(x,(4,5)) print “np.tile(x,(4,5)) = “, np.tile(x,(4,5)) Output: x =  [[1 2]  [3 4]] np.tile(x,(4,5)) =  [[1 2 1 2 1 2 1 2 1 2]  [3 4 3 4 3 4 3 4 3 4]  [1 2 1 2 1 2 1 2 1 2]  [3 4 3 4 3 4 3 4 3 4]  [1 2 1 2 1 2 1 2 1 2]  [3

4 3 4 3 4 3 4 3 4]  [1 2 1 2 1 2 1 2 1 2]  [3 4 3 4 3 4 3 4 3 4]]

Kết luận

Qua bài này chúng tôi đã trình làng với những bạn thêm nhiều thao tác mới trên mảng, mà thông thông qua đó ảnh hưởng trực tiếp đến chiều của mảng. Sử dụng những phương thức flatten() hoặc ravel() khi bạn muốn chuyển mảng nhiều chiều về mảng chỉ có một chiều (hay làm phẳng mảng). Chú ý là flatten() trả về một copy của mảng gốc trong lúc ravel() là trả về một view của

mảng gốc. Reshape() mang lại nhiều tùy chọn hơn được được cho phép bạn tạo ra mảng mới có shape mới mà không thay đổi tài liệu của nó. Ghép những mảng với phương thức concatenate(). Tăng chiều cho mảng đang tồn tại với numpy.newaxis. Xếp chồng những mảng theo hàng với row_stack() và theo cột với column_stack() hay tạo một ma trận mới bằng phương pháp lặp lại ma trận hiện có nhiều lần với tile().

Trong bài tiếp theo chúng tôi sẽ trình diễn rõ ràng hơn về đối tượng người dùng người tiêu dùng kiểu tài liệu ‘dtype’ –

đối tượng người dùng người tiêu dùng này đã được sử dụng nhiều trong những bài học kinh nghiệm tay nghề kinh nghiệm tay nghề tay nghề vừa qua.

Tải thêm tài liệu liên quan đến nội dung nội dung bài viết Hướng dẫn dùng concantinate python

programming

python

Reply
0
0
Chia sẻ

Share Link Down Hướng dẫn dùng concantinate python miễn phí

Bạn vừa tìm hiểu thêm Post Với Một số hướng dẫn một cách rõ ràng hơn về Clip Hướng dẫn dùng concantinate python tiên tiến và phát triển và tăng trưởng nhất Chia Sẻ Link Cập nhật Hướng dẫn dùng concantinate python Free.

Giải đáp vướng mắc về Hướng dẫn dùng concantinate python

Nếu sau khi đọc nội dung nội dung bài viết Hướng dẫn dùng concantinate python vẫn chưa hiểu thì hoàn toàn hoàn toàn có thể lại Comments ở cuối bài để Ad lý giải và hướng dẫn lại nha

#Hướng #dẫn #dùng #concantinate #python

Related posts:

4381

Clip Hướng dẫn dùng concantinate python 2022 ?

Bạn vừa đọc nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Review Hướng dẫn dùng concantinate python 2022 tiên tiến và phát triển nhất

Chia Sẻ Link Down Hướng dẫn dùng concantinate python 2022 miễn phí

Pro đang tìm một số trong những Share Link Cập nhật Hướng dẫn dùng concantinate python 2022 miễn phí.

Thảo Luận vướng mắc về Hướng dẫn dùng concantinate python 2022

Nếu sau khi đọc nội dung bài viết Hướng dẫn dùng concantinate python 2022 vẫn chưa hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Ad lý giải và hướng dẫn lại nha
#Hướng #dẫn #dùng #concantinate #python