numpy.sort () y numpy.ndarray.sort () 函数

numpy.sort()Método de llamada:

numpy.sort(a, axis=-1, kind=None, order=None)

Significado de cada parámetro:
aObjeto de matriz a ordenar
axis: Elija el eje de coordenadas según el cual ordenar. Si se establece en un Nonevalor, la matriz ordenada se aplanará primero y luego se ordenará. Si no establece el valor, el valor predeterminado -1es ordenar a lo largo del último eje de coordenadas.
kind: Se pueden seleccionar cuatro algoritmos de clasificación, como { }, el algoritmo predeterminado es order`: cadena o lista de cadenas. Si es una cadena, significa ordenar la categoría seleccionada. Si es una lista de cadenas, significa ordenar la primera categoría de caracteres primero y luego ordenar la segunda categoría de caracteres. Hay un valor de retorno, que devuelve una matriz copiada en orden. el código se muestra a continuación: ‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’‘quicksort’。

# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np


class Debug:
    @staticmethod
    def mainProgram():
        array = np.array([[1, 3], [2, 4]])
        array_ = np.sort(array, axis=None)
        print("array_的值为:")
        print(array_)


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()
"""
array_的值为:
[1 2 3 4]
"""

Podemos ver que cuando lo configuramos axis=None, primero inicializaremos la matriz ordenada, luego realizaremos la operación de ordenación y, finalmente, obtendremos una matriz ordenada unidimensional.

# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np


class Debug:
    @staticmethod
    def mainProgram():
        array = np.array([[3, 1], [4, 2]])
        array_ = np.sort(array)
        array_1 = np.sort(array, axis=-1)
        print("array_的值为:")
        print(array_)
        print("array_1的值为:")
        print(array_1)


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()
"""
array_的值为:
[[1 3]
 [2 4]]
array_1的值为:
[[1 3]
 [2 4]]
"""

Podemos ver que cuando no configuramos los axisparámetros, los resultados obtenidos axis=-1son consistentes con los resultados establecidos .

# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np


class Debug:
    @staticmethod
    def mainProgram():
        dtype = [('name', 'S10'), ('height', float), ('age', int)]
        values = [('Arthur', 1.8, 41), ('Lancelot', 1.9, 38),
                  ('Galahad', 1.7, 38)]
        # 创建一个结构数组
        array = np.array(values, dtype=dtype)
        array_ = np.sort(array, order='height')
        print("创建好的结构数组array的值为:")
        print(array)
        print("array_的值为:")
        print(array_)


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()
"""
创建好的结构数组array的值为:
[(b'Arthur', 1.8, 41) (b'Lancelot', 1.9, 38) (b'Galahad', 1.7, 38)]
array_的值为:
[(b'Galahad', 1.7, 38) (b'Arthur', 1.8, 41) (b'Lancelot', 1.9, 38)]
"""

Podemos ver que cuando especificamos orderuna cadena, significa ordenar los objetos representados por esta cadena. Es decir, heightestán ordenados por altura .

A continuación, se muestra una forma de organizar los elementos de una matriz de grandes a pequeños.

# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np


class Debug:
    @staticmethod
    def mainProgram():
        array = np.array([[1, 3], [2, 4]])
        array_ = abs(np.sort(-array, axis=None))
        print("array_的值为:")
        print(array_)


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()
"""
array_的值为:
[4 3 2 1]
"""

Puede verse en los resultados anteriores que los elementos de la matriz se han organizado con éxito de grandes a pequeños.

numpy.ndarray.sort()La función y los numpy.sort()parámetros son exactamente los mismos, pero hay una diferencia en el método de llamada entre los dos, el numpy.ndarray.sort()método de llamada de la función es el siguiente:

ndarray.sort(axis=-1, kind=None, order=None)

P.ej:

array = np.array([[1,4], [3,1]])
array.sort(axis=1)

La palabra clave no es fácil, si la encuentra útil, levante la mano para dar un me gusta y déjeme recomendarla para que la vea más gente ~

Supongo que te gusta

Origin blog.csdn.net/u011699626/article/details/112057536
Recomendado
Clasificación