Hướng dẫn sort 2d array python numpy - sắp xếp mảng 2d python numpy

Hướng dẫn sort 2d array python numpy - sắp xếp mảng 2d python numpy

Trong bài viết này, chúng tôi sẽ thảo luận về cách sắp xếp một mảng 2D numpy theo đơn hoặc nhiều hàng hoặc cột.

Trước hết, mô -đun nhập khẩu Numpy, tức là.

import numpy as np

Bây giờ giả sử chúng ta có một mảng 2D numpy, tức là.

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)

Đầu ra:

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

[[21  7 23 14]
 [31 10 33  7]
 [11 12 13 22]]

Đối với điều này, chúng ta cần thay đổi định vị của tất cả các hàng trong mảng 2D Numpy dựa trên các giá trị được sắp xếp của cột thứ 2, tức là cột tại INDEX 1. Hãy để xem cách làm điều đó,

Sắp xếp mảng 2D Numpy theo cột tại INDEX 1

columnIndex = 1
# Sort 2D numpy array by 2nd Column
sortedArr = arr2D[arr2D[:,columnIndex].argsort()]

print('Sorted 2D Numpy Array')
print(sortedArr)

Đầu ra:

Sorted 2D Numpy Array
[[21  7 23 14]
 [31 10 33  7]
 [11 12 13 22]]

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

Đối với điều này, chúng ta cần thay đổi định vị của tất cả các hàng trong mảng 2D Numpy dựa trên các giá trị được sắp xếp của cột thứ 2, tức là cột tại INDEX 1. Hãy để xem cách làm điều đó,
Let’s break down the above expression part by part and understand how ot worked.

Sắp xếp mảng 2D Numpy theo cột tại INDEX 1

Nó đã sắp xếp mảng 2D numpy theo cột thứ 2, tức là cột tại INDEX 1.

arr2D[:,columnIndex]

Nó đã hoạt động như thế nào? Hãy để chia nhỏ phần biểu thức trên từng phần và hiểu cách thức hoạt động của OT.

[12 7 10]

Quảng cáo

arr2D[:,columnIndex].argsort()

Chọn cột tại INDEX 1 từ mảng 2D numpy, tức là.

[1 2 0]

Nó trả về các giá trị ở cột thứ 2, tức là cột tại vị trí chỉ mục 1, tức là
So, to change the positioning of rows based on values returned by argsort(). Pass that to [] operator of 2D numpy array i.e.

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
0

Bây giờ hãy lấy mảng các chỉ số sắp xếp cột này, tức là.

Nó trả về các vị trí chỉ mục có thể sắp xếp cột trên, tức là

Nó có nghĩa là để sắp xếp cột tại vị trí chỉ mục 1 Sử dụng thứ tự sau của các hàng: [1 2 0] Vì vậy, để thay đổi định vị của các hàng dựa trên các giá trị được trả về bởi argsort (). Chuyển điều đó cho [] toán tử của mảng 2D numpy, tức là.

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
1

Đầu ra:

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
2

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
3

Đầu ra:

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
4

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

Đối với điều này, chúng ta cần thay đổi định vị của tất cả các hàng trong mảng 2D Numpy dựa trên các giá trị được sắp xếp của cột thứ 2, tức là cột tại INDEX 1. Hãy để xem cách làm điều đó,

Sắp xếp mảng 2D Numpy theo cột tại INDEX 1

Nó đã sắp xếp mảng 2D numpy theo cột thứ 2, tức là cột tại INDEX 1.

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)

Đầu ra:

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

Đối với điều này, chúng ta cần thay đổi định vị của tất cả các hàng trong mảng 2D Numpy dựa trên các giá trị được sắp xếp của cột thứ 2, tức là cột tại INDEX 1. Hãy để xem cách làm điều đó,

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
7

Đầu ra:

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
8

Bây giờ giả sử chúng tôi muốn sắp xếp mảng 2D này theo cột thứ 2 như thế này,

Đối với điều này, chúng ta cần thay đổi định vị của tất cả các hàng trong mảng 2D Numpy dựa trên các giá trị được sắp xếp của cột thứ 2, tức là cột tại INDEX 1. Hãy để xem cách làm điều đó,

Sắp xếp mảng 2D Numpy theo cột tại INDEX 1

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
9

Nó đã sắp xếp mảng 2D numpy theo cột thứ 2, tức là cột tại INDEX 1.

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
0

Nó đã hoạt động như thế nào? Hãy để chia nhỏ phần biểu thức trên từng phần và hiểu cách thức hoạt động của OT.

Quảng cáo

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
1

Đầu ra:

# Create a 2D Numpy array list of list
arr2D = np.array([[11, 12, 13, 22], [21, 7, 23, 14], [31, 10, 33, 7]])

print('2D Numpy Array')
print(arr2D)
2

Chọn cột tại INDEX 1 từ mảng 2D numpy, tức là.

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
3

Đầu ra:

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
4

Nó trả về các giá trị ở cột thứ 2, tức là cột tại vị trí chỉ mục 1, tức là

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
5

Output:

2D Numpy Array
[[11 12 13 22]
 [21  7 23 14]
 [31 10 33  7]]
6

Làm cách nào để sắp xếp một mảng 2D trong Python Numpy?

Sắp xếp mảng 2D numpy theo cột tại chỉ mục 1 Chọn cột tại chỉ mục 1 từ mảng 2D numpy, tức là nó trả về các giá trị ở cột thứ 2, tức là cột tại vị trí chỉ mục 1 tức là nhận được mảng các chỉ số sắp xếp cột này, tức là nó trả về các vị trí chỉ mục có thể sắp xếp cột trên, tức là.

Làm thế nào để bạn sắp xếp một mảng 2D numpy theo thứ tự giảm dần trong Python?

Sắp xếp mảng 2D numpy trong giảm thứ tự theo thứ tự khôn ngoan..
Nhập thư viện Numpy và tạo một mảng numpy ..
Bây giờ nhân tất cả các phần tử của mảng với -1 ..
Chuyển mảng đến phương thức sort () bằng trục = 0 ..
Hàm sẽ trả về mảng được sắp xếp theo thứ tự tăng dần ..
Bây giờ nhân tất cả các phần tử của mảng được trả về với -1 ..

Làm thế nào mảng 2D được sắp xếp trong Python?

Để sắp xếp một danh sách hai chiều trong Python, hãy sử dụng phương thức Danh sách Sort (), làm biến đổi danh sách hoặc hàm Sắp xếp (), không có.Đặt tham số khóa cho cả hai loại bằng hàm Lambda và trả về một tuple của các cột để sắp xếp theo thứ tự sắp xếp cần thiết.use the sort() list method, which mutates the list, or the sorted() function, which does not. Set the key parameter for both types using a lambda function and return a tuple of the columns to sort according to the required sort order.

Làm thế nào để bạn sắp xếp một mảng 2D numpy dựa trên một cột?

Các mảng numpy có thể được sắp xếp theo một cột, hàng hoặc nhiều cột hoặc hàng bằng hàm argsort ().Hàm argsort trả về một danh sách các chỉ số sẽ sắp xếp các giá trị trong một mảng trong giá trị tăng dần.using the argsort() function. The argsort function returns a list of indices that will sort the values in an array in ascending value.