NumPy排序函数返回None

时间:2017-07-11 01:11:23

标签: python numpy sorting

我有一个简单的程序:

import numpy as np

arr = np.random.randn(8)
new = arr.sort()
new1 = np.sort(arr)
print new
print new1

我希望两个新数组与排序数组相同,但newNonenew1是我所期望的,两个方法之间有什么区别排序

2 个答案:

答案 0 :(得分:3)

来自numpy.ndarray.sort的{​​{1}}:

  

就地对数组进行排序。

如果你想要一个原始数组的排序副本,而不是就地排序,你应该使用numpy.sort,它会返回一个副本,如你所见。

答案 1 :(得分:1)

np.random.randn(8)将返回一个数组,arr.sort()将返回None,即newNone,因为.sort()仅用于列表不使用数组,因此您必须使用sorted(arr)在python中对数组进行排序。如果您这样做,sorted(arr)np.sort(arr)

之间没有太大区别