似乎当Numpy数组中包含“nan”值时,无法通过sorted()
对数组进行排序。这是一个例子:
import numpy as np
values = np.array([float('nan'),2,float('nan'),1],dtype=float)
valuesSorted = sorted(values)
print(valuesSorted)
输出为[nan, 2.0, nan, 1.0]
。而如果您使用相同的代码对[2,1]
进行排序,则输出为[1.0,2.0]
。
或者,如果您使用values.sort()
:
import numpy as np
values = np.array([float('nan'),2,float('nan'),1],dtype=float)
values.sort()
print(values)
输出为:[ 1. 2. nan nan]
,表示sort()
可以对包含nan值的数组进行排序。
我的问题是:为什么函数sorted()
不对包含nan值的数组进行排序?是否可以使用sorted()
对包含nan值的数组进行排序?