删除列表中无效值的代码
时间: 2024-04-10 07:33:05 浏览: 41
要删除列表中的无效值,你可以使用NumPy库的`np.isnan()`函数来识别无效值,然后使用布尔索引来过滤掉这些无效值。
下面是一个示例代码,演示如何删除列表中的无效值:
```python
import numpy as np
data = [1.031, 2.968, np.nan, 3.781, 4.594, 4.625, 4.5, 2.984, np.nan, 2.828, 3.515, 3.843, 3.578, 2.672, 0.656, 11.813, 9.843, 5.234, 2.313]
# 使用布尔索引过滤无效值
data = np.array(data)
valid_data = data[~np.isnan(data)]
print(valid_data)
```
在这个例子中,原始数据包含了一些无效值(NaN)。使用`np.isnan(data)`可以识别出这些无效值。然后,使用`~np.isnan(data)`可以得到一个布尔数组,其中True表示对应位置上的值是有效的,False表示对应位置上的值是无效的。通过将这个布尔数组作为索引应用到原始数据上,可以得到一个只包含有效值的新数组`valid_data`。
运行这段代码,你会得到一个只包含有效值的列表。在这个例子中,输出将是:
```
[ 1.031 2.968 3.781 4.594 4.625 4.5 2.984 2.828 3.515 3.843
3.578 2.672 0.656 11.813 9.843 5.234 2.313]
```
这样,你就成功地删除了列表中的无效值。