首页 > 解决方案 > 为什么 sorted() 不对包含 nan 值的数组进行排序?

问题描述

似乎当 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 值的数组进行排序?

标签: pythonnumpy

解决方案


推荐阅读