Hướng dẫn can you sort a 2d array in python? - bạn có thể sắp xếp mảng 2d trong python không?

Chà, nếu bạn đang nói về danh sách Python tiêu chuẩn, điều này thật dễ dàng:

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
6. Ví dụ:

>>> from random import randint
>>> a_list = [[randint[1,15] for _ in range[10]] for _ in range[3]]
>>> print a_list
[[3, 12, 3, 12, 13, 5, 12, 2, 1, 13], [3, 8, 7, 4, 6, 11, 15, 12, 4, 6], [15, 3, 8, 15, 1, 6, 4, 7, 15, 14]]
>>> a_list[1].sort[]
>>> print a_list
[[3, 12, 3, 12, 13, 5, 12, 2, 1, 13], [3, 4, 4, 6, 6, 7, 8, 11, 12, 15], [15, 3, 8, 15, 1, 6, 4, 7, 15, 14]]

  1. Sau đó thay đổi vị trí của các cột để thực hiện mảng 2D này được sắp xếp theo hàng.
  2. Một số ví dụ khác,

Sắp xếp mảng 2d numpy theo hàng đầu tiên

Sắp xếp mảng 2d numpy theo hàng cuối cùng

Ví dụ hoàn chỉnh như sau:

Sau đó thay đổi vị trí của các cột để thực hiện mảng 2D này được sắp xếp theo hàng.

Một số ví dụ khác,

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]

Output:

[['Jason', 0], ['John', 5], ['Jim', 9]]

Sắp xếp mảng 2d numpy theo hàng đầu tiên

Sắp xếp mảng 2d numpy theo hàng cuối cùng

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]

Output:

[['dave', 'D', 10], ['jane', 'A', 12], ['john', 'C', 15]]

Ví dụ hoàn chỉnh như sau:

Một số ví dụ khác,

Sắp xếp mảng 2d numpy theo hàng đầu tiên

li = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

sorted_li = sorted[li, key=lambda x:x[1]]
print[sorted_li]

Output:

[['Jason', 0], ['John', 5], ['Jim', 9]]

Sắp xếp mảng 2d numpy theo hàng cuối cùng

Ví dụ hoàn chỉnh như sau:

from operator import itemgetter
lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

sorted_lst = sorted[lst,key=itemgetter[1]]
print[sorted_lst]

Output:

[['jane', 'A', 12], ['john', 'C', 15], ['dave', 'D', 10]]

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à.

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
0

Đầu ra:

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
1

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,

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
2

Đố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

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
3

Đầu ra:

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
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 đó,
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.

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
5

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.

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
6

Quảng cáo

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
7

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

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
8

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.

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
9

Nó sẽ thay đổi thứ tự hàng và tạo mảng 2D được sắp xếp theo cột thứ 2, tức là theo cột tại vị trí chỉ mục 1.

Hãy để xem một số ví dụ khác,

Sắp xếp mảng 2D numpy theo cột tại chỉ mục 0

[['Jason', 0], ['John', 5], ['Jim', 9]]
0

Đầu ra:

[['Jason', 0], ['John', 5], ['Jim', 9]]
1

Sắp xếp mảng 2d numpy theo cột cuối cùng

[['Jason', 0], ['John', 5], ['Jim', 9]]
2

Đầu ra:

[['Jason', 0], ['John', 5], ['Jim', 9]]
3

Sắp xếp mảng 2d numpy theo cột cuối cùng

Sắp xếp một mảng 2d numpy theo hàng

Trên logic tương tự, chúng ta có thể sắp xếp một mảng 2D numpy theo một hàng duy nhất, tức là xáo trộn các cột của mảng 2D numpy để tạo ra hàng đã cho được sắp xếp.

Hãy để hiểu biết bởi các ví dụ,

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
0

Đầu ra:

lst = [
  ['John',5],
  ['Jim',9],
  ['Jason',0] ]

lst.sort[key=lambda x:x[1]]
print[lst]
1

Sắp xếp mảng 2d numpy theo cột cuối cùng

Sắp xếp một mảng 2d numpy theo hàng

[['Jason', 0], ['John', 5], ['Jim', 9]]
6

Đầu ra:

[['Jason', 0], ['John', 5], ['Jim', 9]]
7

Sắp xếp mảng 2d numpy theo cột cuối cùng

Sắp xếp một mảng 2d numpy theo hàng

Trên logic tương tự, chúng ta có thể sắp xếp một mảng 2D numpy theo một hàng duy nhất, tức là xáo trộn các cột của mảng 2D numpy để tạo ra hàng đã cho được sắp xếp.

[['Jason', 0], ['John', 5], ['Jim', 9]]
8

Hãy để hiểu biết bởi các ví dụ,

[['Jason', 0], ['John', 5], ['Jim', 9]]
9

Giả sử chúng ta có một mảng 2D numpy, tức là.

Sắp xếp mảng 2D numpy theo hàng tại vị trí chỉ mục 1

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
0

Đầu ra:

[['Jason', 0], ['John', 5], ['Jim', 9]]
1

Sắp xếp mảng 2d numpy theo cột cuối cùng

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
2

Đầu ra:

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
3

Sắp xếp mảng 2d numpy theo cột cuối cùng

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
4

Output:

lst = [
        ['john', 'C', 15],
        ['jane', 'A', 12],
        ['dave', 'D', 10],
]

lst.sort[key=lambda lst:lst[2]]
print[lst]
5

Sắp xếp một mảng 2d numpy theo hàng

Trong một mảng 2D, một ô có hai chỉ mục một là số hàng của nó và số còn lại là số cột của nó.Sắp xếp là một kỹ thuật để sắp xếp các yếu tố trong một mảng 2D theo một thứ tự cụ thể.Mảng 2D có thể được sắp xếp theo thứ tự tăng dần hoặc giảm dần.The 2D array can be sorted in either ascending or descending order.

Làm thế nào chúng ta có thể sắp xếp một mảng 2D Numpy dựa trên hai 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.

Bài Viết Liên Quan

Chủ Đề