编写代码按照第 (N-1) 列对 Numpy 中的数组进行排序
在本例中,我们将学习如何按照第 (N-1) 列对 Numpy 中的数组进行排序。
使用 argsort() 按照第 (n-1) 列对数组进行排序
实例
让我们看第一个按照第 (n-1) 列对数组进行排序的示例 —
import numpy as np # Creat a Numpy Array a = np.array([[9, 2, 3], [4, 5, 6], [7, 0, 5]]) print("Array = \n",a) # The value of n n = 3 # Sort by n-1 column print("\nSort by n-1 th column = \n",a[a[:, (n-1)].argsort()])
输出
Array = [[9 2 3] [4 5 6] [7 0 5]] Sort by n-1 th column = [[9 2 3] [7 0 5] [4 5 6]]
使用 sorted() 和 lambda 按照第 (n-1) 列对数组进行排序
实例
在此示例中,我们将使用 lambda 进行排序 –
import numpy as np # Create a Numpy Array arr = np.array([[5, 7, 7], [2, 3, 9], [7, 6, 6]]) print("Array = \n",arr) # The value of n n = 3 # Sort by n-1 column using lambda arr = sorted(arr, key=lambda arr_entry: arr_entry[n-1]) print("\nSort by n-1 th column = \n",arr)
输出
Array = [[5 7 7] [2 3 9] [7 6 6]] Sort by n-1 th column = [array([7, 6, 6]), array([5, 7, 7]), array([2, 3, 9])]
使用 mergesort 按照第 (n-1) 列对数组进行排序
实例
在此示例中,我们将在 Python 中使用 mergesort() 方法进行排序 –
import numpy as np # Create a Numpy Array arr = np.array([[5, 7, 7], [2, 3, 9], [7, 6, 6]]) print("Array = \n",arr) # The value of n n = 3 # Sort by n-1 column using mergesort arr = arr[arr[:,(n-1)].argsort(kind='mergesort')] print("\nSort by n-1 th column = \n",arr)
输出
Array = [[5 7 7] [2 3 9] [7 6 6]] Sort by n-1 th column = [[7 6 6] [5 7 7] [2 3 9]]
广告