es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PyCharm numpy – ¿la ordenación de un array no funciona?

Estaba intentando ejecutar un código para ordenar una matriz, a continuación se muestra el código.
En línea se dice que una matriz se puede ordenar de esta manera, pero cuando ejecuto este código, la salida es “None” en lugar del código ordenado, ¿alguien puede explicar por qué?
En Jupyter Notebook funciona correctamente cuando lo probé.

Ambas formas no funcionan, ¿por qué?

import numpy as np
arr = np.array([3, 7, 6, 8, 9, 1, 2, 3])
arr_sorted = arr.sort()
print(arr_sorted)

una forma alternativa

arr_sorted2 = np.ndarray.sort(arr)
print(arr_sorted2)

Además, encontré que esto funciona en su lugar, pero todavía no sé la razón.

print(np.sort(arr))
ab = np.sort(arr)
print(ab)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Los métodos arr.sort() y np.ndarray.sort(arr) no devuelven el array ordenado, sino que modifican el array in situ. Para obtener el array ordenado, es necesario utilizar el método np.sort(), que devuelve el array ordenado.

    Así que el código debería ser:

    python
    import numpy as np
    arr = np.array([3, 7, 6, 8, 9, 1, 2, 3])
    arr_sorted = np.sort(arr)
    print(arr_sorted)

    La salida será:


    [1 2 3 3 6 7 8 9]

Comments are closed.