删除一维数组中的nan值,并将剩下的数据按降序排列
时间: 2024-01-11 07:03:25 浏览: 66
可以使用 NumPy 库来删除一维数组中的 NaN 值,并使用 `argsort` 函数将剩下的数据按照降序排列。以下是示例代码:
```python
import numpy as np
a = np.array([1, 2, np.nan, 3, 4, np.nan])
a = a[~np.isnan(a)] # 删除 NaN 值
a = a[np.argsort(-a)] # 按照降序排列
print(a)
```
输出结果:
```
[4. 3. 2. 1.]
```
首先使用 `~np.isnan(a)` 来得到一个布尔数组,表示哪些元素不是 NaN,然后使用该数组来切片原始数组 `a`,从而实现删除 NaN 值的目的。最后使用 `np.argsort(-a)` 来得到按照降序排列的索引数组,然后再次切片原始数组 `a`,最终得到降序排列的结果。
阅读全文