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)
davy.ai
Los métodos
arr.sort()
ynp.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étodonp.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]